C++的数据类型和C有很多类似的地方。
但C++不仅可以定义某种数据类型的变量,还可以定义数据类型的操作。这是它和C不同的地方。
类也是数据类型,也可以对它进行加减乘除、左移右移、赋值。
但本节暂时不牵涉到类。
下面是有关基本的数据类型的使用tips:
• 当值不可能为负时,使用unsigned类型;
• 整型数据首选int,一般来说,short的长度会不够,更长的数据则使用long;
• 不要使用char或bool做运算,仅仅使用它们存放字符或真值(char的符号根据架构的不同而不同);
• 使用double做浮点数,一般来说,float的精度不够,且它们的运算量差别不大,
甚至在有的架构上,double的运算速度还快于float,long double的开销很大,能不用就别用了。
不同的数据类型之间进行赋值,会发生:
• 当将非bool的值赋给bool,不为0则返回true,为0则返回false;
• 当将boot的值赋给非bool,为true则返回1,为false则返回0;
• 将float赋给int,值会被截断,仅仅保留小数点之前的整数;
• 如果将值赋给小于它位数的无符号类型,返回取模的结果,例如将258赋给unsighed char,则返回2;
• 如果将值赋给小于它位数的有符号类型,返回结果不确定。
另外,不要假定int的长度。
不要混合signed和unsigned来运算。
C++程序的变量初始化与变量赋值,有区别。
具体区别,以后再说。
标识符的命名惯例:
• 名称最好能够指示它的实际意义;
• 变量名称一般小写;
• 类名称一般首字母大写;
• 使用下划线或者大写来隔开字母。
在C++里面,可以将变量定义在首次使用它的地方。
实际上,C++推荐这么做,这样变量的含义更明确,初始化也更方便。
而C中的变量,只能定义在函数的开始位置。
空指针请使用nullptr,不要使用NULL。
void *类型的指针表示它可以指向任何类型的数,但是它可执行的操作很有限。
DiracFatCat 2016-3-14 10:43
用户595347 2016-3-14 07:31