之前写了一个博客《 浅析C++中的初始化列表(区别赋值和初始化)》,讲述了类的构造函数使用初始化列表来初始化成员变量。
现在,撇开过往不谈,就谈一谈普通的变量赋值。即是我们要提到的initializer_list。
这同样是一个C++11的特性。
过往,我们这样给vector赋值:
- 1
- 2
- 3
- 4
- 5
- 1
- 2
- 3
- 4
- 5
需要感谢的是,c++11让你更方便。
- 1
- 1
这就是所谓的initializer list。
更进一步,有一个关键字叫initializer list
C++11允许构造函数和其他函数把初始化列表当做参数。
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
最后写一个类,可以对比一下,加深理解
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
这下子明白 {} 和 () 的区别了吧!!!