C++程序设计随笔(一)

做了两年的android应用了,现在想转cocos2d-x做游戏。那就从语言开始学吧,当然同时也要做些小东西,来具体学习,看了两章才有这个想法,发现这本书,不是主要讲C++怎么用,而是告诉c++语言怎么设计的。那么厚的书啊,不知道能不能坚持,写这个博客就是来激励自己,也做个笔记。

复数:

标准库支持一族复数的类型,就是complex类的方式。也可以单精度的float和双精度的double的复数。

complex的一个模板:

template<class scalar>class complex{

public:

complex (scalar re,scalar im);

//....

}

复数运用如:

 

template<class C> complex<C> pow(const complex<C>&,int);

void f(complex<float> fl,complex<double>db){

 complex<long double> ld = fl + sqrt(db);//开方函数

db +=fl * 3;

fl = pow(1/fl,2);//计算x的y次幂

//...

}

向量运算:()

vector是保存值的一种机制,valarray适用数值计算。

valarray的模板::

template<.class T>class valarray{

//..

T& operator[] (size_t);//size_t为无符号的整形类型

//..

}

运用:

void f(valarray<double> &a1,valarray<double>& a2){

valarray<double> a = a1 * 3.14 + a2/a1;

a2  += a1*3.14;

a = abs(a);//计算绝对值

double b = a2[7];

//...

}

C++;类型和说明

将布尔值、字符、整数类型放到一起称为整型。

整型和浮点类型一起称为算术类型。

枚举和类一起称为用户定义类型。

int(char)可以转换字符为整型,一个字符是一个字节,但是8个二进制保存的是整数值0~255或者是-128~127,这就关于到char的选择。

C++提供了signed char 有符号(-128~127) unsigned char无符号(0~255),但是最常用的字符都在127之内。

枚举:

枚举范围,比如

1
2
3
enum e1(dark,light)//范围(0:1)
enum e2(a = 3,a = 9)//范围(0:15)
enum e3(min = -10,max 1000000)//范围(-1048576,1048575)

范围计算:

如果枚举都是负数,范围是[0:2的k次幂 - 1],2的k次幂 表示能使所有枚举符位于此范围内的最小的2的幂。

一个枚举的sizeof就是能容纳其范围的整数的sizeof。

作用域:

被隐蔽的全局名字可以通过作用域解析运算符::去引用 例如:

 

1
2
3
4
5
6
int x;
void f(){
    int x = 1;//遮蔽全局的x
    ::x = 2;//给全局的x赋值
                     

typedef 为前缀,它就是为类型声明一个新的名字,而不是声明一个指定类型的对象。例如:

1
2
3
typedef char* Pchar;//声明char类型的一个新名称为Pchar
Pchar p1,p2;//
char *p3 = p1;

 看书进度太慢了。。。决定每隔几天发一次笔记吧。。

不然自己都受不了了。。。。

C++程序设计随笔(一),布布扣,bubuko.com

C++程序设计随笔(一)

上一篇:Java IO操作


下一篇:利用dwebsocket在Django中使用Websocket