C++ 11有了initializer_list后成员数组可以在初始化列表上初始化,C++11之前是不行的。 前提都是错的,只有初始化列表上的才叫初始化,即便你没有显示地去初始化成员,也调用了默认的初始化过程;而构造函数体内的成员操作叫赋值,不叫初始化。
[quote=引用 8 楼 sdghchj 的回复:] C++ 11有了initializer_list后成员数组可以在初始化列表上初始化,C++11之前是不行的。 前提都是错的,只有初始化列表上的才叫初始化,即便你没有显示地去初始化成员,也调用了默认的初始化过程;而构造函数体内的成员操作叫赋值,不叫初始化。
class Node{ public: int a[5]; Node(){ for(int i = 0; i < 5; i++) { a[i] = 0; } } };
[quote=引用 2 楼 u013489432 的回复:] [quote=引用 1 楼 jianwen0529 的回复:] 我不知道数组可以在初始化列表初始的情况,也许可以,但是我没见过!
class Node{ public: int a = 0; Node(){ a = 100; } };
[quote=引用 1 楼 jianwen0529 的回复:] 我不知道数组可以在初始化列表初始的情况,也许可以,但是我没见过!
我不知道数组可以在初始化列表初始的情况,也许可以,但是我没见过!
64,654
社区成员
250,484
社区内容
加载中
试试用AI创作助手写篇文章吧