隐式的拷贝构造函数(Implicit copy constructor)

2019-09-22 11:14发布

从n3337 12.3.1 / 3报价

非明确的复制/移动构造函数(12.8)是一个转换构造函数。 隐式声明的复制/移动构造函数不是显式的构造函数; 它可以被称为隐式类型转换。

从ANSI ISO IEC 14882 2003报价

非明确的拷贝构造函数(12.8)是一个转换构造函数。 隐式声明的拷贝构造函数是不明确的构造函数; 它可以被称为隐式类型转换。

我没有任何想法,如何copy-constructor可用于implicit类型conversions 。 如果它是错字/标准错误,为什么它不因为C ++标准03纠正? 任何链接和实例(如果我们可以用它进行type conversions )是真正的赞赏。

Answer 1:

复制构造可以由派生类型的一个目的是通过切割其转换:

struct A {};
struct B : A {};

B b;
A a = b; // uses A::A(A const&) to convert B to A


Answer 2:

在隐式内联是类definition.the关键字inline内定义的联成员函数不使用



文章来源: Implicit copy constructor