我已经阅读了许多关于使用大括号初始化的解释:
PhoneNumber homePhone = {858, 555, 1234};
以及
int x2 = val; // if val==7.9, x2 becomes 7 (bad)
char c2 = val2; // if val2==1025, c2 becomes 1 (bad)
int x3 {val}; // error: possible truncation (good)
char c3 {val2}; // error: possible narrowing (good)
char c4 {24}; // OK: 24 can be represented exactly as a char (good)
char c5 {264}; // error (assuming 8-bit chars): 264 cannot be
// represented as a char (good)
然而,我在这里遇到了一些代码,我找不到例子,也许是因为我不知道术语,无法在谷歌上搜索:
auto ac1 = ArrayClass{};
我习惯于做
ArrayClass ac1 = new ArrayClass();
首先是:
auto ac1 = ArrayClass{};
与...相同
ArrayClass ac1 = ArrayClass{};
其次,如果我在构造函数中使用了初始化列表,我能否只使用大括号?
最后,如果我有参数,以下代码是否正确?
auto ac1 = ArrayClass{1,4,"hi", true}
谢谢你的帮助