|
|
1
2
最重要的情况是,当它完全跳过调用复制构造函数时。这是一种特定的优化,即使在可观察行为发生变化的情况下也是允许的。
另一个吸引一些缺乏经验的开发人员的例子是,除非另有规定,
|
|
|
2
8
对于正确的C++实现,这将永远不会发生在正确的代码中。如果是这样的话,你要么有一个编译器的bug,要么你的代码在对象构造之前已经进入了未定义的行为领域,因为你的代码中有bug。后者是最有可能的。 |
|
|
3
1
从未。如果创建一个派生类,那么将始终调用基类构造函数。如果调用派生的析构函数(假设您记住了一个虚拟析构函数),那么也将调用基析构函数。从构造函数/析构函数的角度来看,继承的行为与组合没有任何不同。你可能在上面看到的是一种埃利斯语。你的编译器决定你永远不要用这个值做任何事情,然后去掉它。 编辑:或者正如尼尔所说,你首先发现了未定义的行为,它导致了这种情况的发生。 |
|
AstralHex · 矩阵乘法代码工作不正常 1 年前 |
|
|
Fishie · 作为类成员的智能指针是否仍然自动释放?[关闭] 1 年前 |
|
|
Die4Toast · 递归调用成员箭头运算符-> 1 年前 |
|
|
Anka Hanım · 关于结构和动态数组地址的问题 1 年前 |