我在PDF中阅读了以下段落:http://www.stroustrup.com/what-is-2009.pdf
缩小
也许您注意到我一直使用{}初始化。也许,你还以为我是在丑化代码并被一个新颖的功能所超越?当然,这种情况会发生,但我认为这不是这种情况。考虑:
int x1 = 64000; int x2 { 64000 };
我们可以就这两个定义的美学进行友好的讨论,你甚至可以指出{}版本需要比= 1更多的击键。但是,这两种形式之间存在一个显着差异,这使我选择{}。 {}版本不允许缩小,我没有告诉您这两个定义是为具有16位整数的机器编写的。这意味着x1的值可能非常令人惊讶,而x2的定义会导致编译时错误。
但是当我尝试使用'Ideone.com'c ++ 11在线编译器编译以下内容时,它显示了成功
#include <iostream>
using namespace std;
int main() {
// your code goes here
short i {999999};
std::cout<<"value of i = " << i;
return 0;
}
我原本期待编译错误。任何形式的帮助将不胜感激。