标签:
1.初始化:初始化将赋值与声明合并在一起。例如下面的语句声明了变量n-int,并将int的最大值赋给他:
int n-int=INT-MAX;
也可以使用字面值常量来初始化。可以将变量初始化为另一个变量,条件是后者已经定义过。甚至可以
使用表达式来初始化变量,条件是当程序执行到该声明是,表达式中所有值都是已知的:
int uncles=5;
int aunts=uncles;
int chairs=aunts+4;
如果将uncles的声明移到语句列表的最后,则另外两条初始化语句将非法,因为这样当程序试图将对其
他变量进行初始化时,uncles的值是未知的。
前面的初始化语法来自C语言,C++还有另一种C语言没有的初始化语法:
int owls=101;
int wrens(432);
如果知道变量的初始值应该是什么,则应该对他进行初始化。将变量声明和赋值分开,可能会带来瞬间
悬而未决的问题;
short year;
year = 1490;
然而,在声明变量时对他进行初始化,可以避免以后忘记给他赋值的情况发生。
2.C++初始化方式;还有另一种初始化方式,这种方式用于数组和结构,但在C++98中,也可用于单值变量:
int hamburgers={10};
将大括号初始化器用于单值变量的情形还不多,但C++11标准使得这种情形变多了。首先,采用这种方式时
可以使用等号,也可以不用。
int emus{5};
int rheas={4};
其次,大括号内可以不包含任何东西。在这种情况下,变量将被初始化为零:
int rocs={};
int psychics{};
第三,这有助于更好地防范类型转换错误,为什么需要更多的初始化方法?因为是让新手更容易学习C++,
这可能很奇怪,以前C++使用不同的方式来初始化不同的类型,初始化变量的方式不同于初始化常规结构的
方式,而初始化常规结构的方式又不同于初始化简单变量的方式:通过使用C++新增的大括号初始化器,初
始化常规变量的方式与初始化类变量的方式更像。C++使得可将大括号初始化器用于任何类型,这是一种通
用的初始化语法。
3.无符号类型,有4中整型都有一种不能存储负数的无符号变体,其优点是可以增大变量能够存储的最大值。
例如如果short表示的范围为-32768到+32767,则无符号版本的表示范围为0-65535。当然,仅当数值不会
为负时才使用无符号类型。要创建无符号版本的基本整型,只需要使用关键字unsigned来修改声明即可:
unsigned short change;
unsigned int rovert;
unsigned quarterback;
unsigned long gone;
unsigned long longlang-lang;
注意,unsigned本身上unsigned int 的缩写。
标签:
原文地址:http://www.cnblogs.com/world1/p/5715051.html