initialization
int a{3};
int a[3]{1,2,3};
std::string str{"123"};
当然里面也可以啥都没有(这种情况用()
有时会被当做函数声明,此时只能用 {}
)
int a{};
int a[3]{};
std::string str{};
然后变量名是可以没有的(生成一个临时变量/对象)。这种单独放一个语句一般没什么用,除非想利用构造/析构的副作用。但是可以用作函数的参数。:
int {};
(int [3]){}; // 没 () 会被认成 structured binding
std::string{};
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…