1
|
Kevin Doyon Zephaniah Grunschlag · 技术社区 · 15 年前 |
![]() |
1
2
我不知道性能优势,但一般来说,最好使用构造函数。 这是因为有了A,成员A,B,C,D可以成为私有的。因此,您可以使用A方法获得封装,而B中没有这种方法。 作为类设计器,可以通过构造函数强制严格使用和分配成员变量。在你的B类场景中,你不能。 因此,虽然你可能会得到一个小的提高,为使用B,我打赌它是微不足道的,并将被潜在的头痛有无保护的班级成员否定。 |
![]() |
2
4
对于全局对象和静态类成员,初始值设定项列表不会在运行时调用任何代码。(初始化数据直接存储在二进制文件中)。 如果您正在初始化许多对象,或者如果构造函数代码很昂贵/很大,那么在加载时这会有显著的不同。 如上所述,这仅适用于普通的旧数据,即可以用C++lt;0x中的初始化列表初始化的所有内容。 |
![]() |
3
1
您不必显式地使用C++中的这种初始化工作来编写构造函数和C代码。 如果您有简单数据文件的复杂复合结构,初始化列表比构造函数更容易初始化变量:
它的缺点是(目前)只适用于只有pod成员变量的简单类,程序员可能不太熟悉语法。 |
![]() |
4
0
大多数类还不能使用初始化列表!,所以最好使用构造函数来保持一致。在C++0xSTD::IndialIZELSILL列表中,允许任何类的语法。 |
![]() |
5
0
以下是使用初始值设定项列表时的场景:
|
![]() |
rookie · 检查函数模板的所有参数包参数是否属于int 1 年前 |
![]() |
ivaigult · -W转换和隐式字符串到布尔类型转换 1 年前 |
![]() |
rainer · 后台插入程序的初始化 1 年前 |
![]() |
Community wiki · 以理智、安全和高效的方式复制文件 1 年前 |
|
Shefali Kanaujia · 对C中向量的向量进行排序++ 1 年前 |
|
Ma Joonyoung · 粗粒度和细粒度链表的时间比较 1 年前 |