式长
你记得2.4节的最大整数,整数型C + + 03的定义是“长”。长有一个,可以是32或64位平台的具体尺寸。C++定义了一个新的类型命名的长长的保证是至少64位长。因为“长”已经介绍了C99,许多编译器已经支持它的C + + 11之前。
奇怪的是,尽管C++ 11进口很久C99,他们选择不进口固定宽度的整数。
随着汽车和decltype类型推理
在C + + 11我最喜欢的变化是自动关键词引言。考虑你要遍历一个向量循环的使用在普通的使用情况:
1
为std::向量(< int >::const_iterator ITR = myvector cbegin();ITR!=myvector cend();+ + ITR)
具有确定的迭代器序列数据类型是“std::::矢量const_iterator”是一个痛苦的人正确的和令人厌恶的考虑,编译器已经知道从cbegin()返回类型是std::向量::const_iterator -但它使你了吗。
这是自动关键字哪里来:
1
对(汽车ITR = myvector cbegin();ITR!= myvector cend();+ + ITR)
自动关键词告诉编译器对其初始化的变量的类型推断。
1
2
3
4
汽车X = 5;// X将int类型
汽车Y=5.5;//Y将型双
自动Z = Y / Z;将型双
汽车W =“嗨”;//W将类型const char *
该decltype可以用来确定一个表达式的类型在编译型。
1
2
3
decltype(5)x;/ / x将int类型,因为5是int
decltype(x)y=6;//Y将int类型,因为X是一个int
自动Z = x;/ Z型int类型
虽然看起来像汽车和decltype总是推断类型相同,事实并非如此,如下面的示例:
1
2
3
const std::矢量< in> V(5);//声明一个向量V
汽车= V [ 0 ];//将int类型,因为V [ 0 ]是一个int
decltype(V [ 0 ])B = 1;// B将典型