给出以下代码,Foo 有复制构造函数吗?将 Foo 与 STL 容器一起使用安全吗?
class Foo
{
public:
Foo() {}
template <typename T>
Foo(const T&) {}
};
该标准明确指出,复制构造函数是一种非模板化构造函数,它引用同一类型的可能 const 易失性对象。在上面的代码中你有一个转换但不是copy构造函数(即它将用于所有内容but副本,其中将使用隐式声明的构造函数)。
Does Foo
有复制构造函数吗?
是的,隐式声明/定义的复制构造函数。
使用安全吗Foo
使用标准库容器?
根据当前的定义Foo
是的,但一般情况下,这取决于哪些成员Foo
以及隐式定义的复制构造函数是否正确管理这些。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)