C++ 中类初始化列表执行顺序是按照定义的顺序执行,不是写在初始化列表的顺序执行
#includeusing namespace std;class Node { public: Node(int a, int b) : b_(b), a_(b_) { } void Print() { cout << a_ << " " << b_ << endl; } private: int a_; int b_;};int main() { Node n(1, 2); n.Print(); return 0;}
上面代码执行顺序为a_(b_), b_(b)
运行结果为:
32764(随机数) 2