|
4
|
| Edward Strange · 技术社区 · 15 年前 |
|
|
1
3
我很肯定你的问题答案是“永远不会”。 ANSI C++标准的12.12.2节说
第12.8.3节规定
|
|
2
5
在VisualC++中,派生复制构造函数参数的基础委托存在一个问题:
此代码是有效的,但是VisualC++无法编译它,因为它们调用基类复制构造函数,使用
这是难题的第一部分:模板是更好的匹配,因为复制构造函数需要一个派生到基的转换,但是模板直接接受派生类,然后需要另一个副本,等等。注意模板将
不
在这里充当复制构造函数(给定vc++bug),正如上面的声明
第二部分是您的另一个问题的答案:标准是含糊不清的,在C++ 03中不清楚实例化模板是否可以充当复制构造函数。在纸条上写着
但下面几段,它说
由于此文本出现在上下文中(禁止按值参数复制构造函数),人们可能会认为这并不是禁止从模板中实例化按引用复制构造函数。但面对这种含糊不清的措辞,这种争论是没有意义的。 C++ 0x FCD清除了它,并删除了奇怪的音符。现在很明显,无论模板是通过引用还是通过值参数生成,都不会实例化模板来执行复制。但是如上所述,如果您碰巧使用VC++并且它表现出这种行为,那么它与复制构造函数没有任何关系。 |
|
|
3
3
可能要指出以下声明是 不是 复制构造函数。
的复制构造函数
|
|
AstralHex · 矩阵乘法代码工作不正常 1 年前 |
|
|
Fishie · 作为类成员的智能指针是否仍然自动释放?[关闭] 1 年前 |
|
|
Die4Toast · 递归调用成员箭头运算符-> 1 年前 |
|
|
Anka Hanım · 关于结构和动态数组地址的问题 1 年前 |