Неявный конструктор копирования

Цитата из N3337 12.3.1 / 3

Неявный конструктор копирования / перемещения (12.8) является преобразованием
конструктор. Неявно объявленный конструктор копирования / перемещения не является
явный конструктор; это может быть вызвано для неявных преобразований типов.

Цитата из ANSI ISO IEC 14882 2003

Неявный конструктор копирования (12.8) является конструктором преобразования.
неявно объявленный конструктор копирования не является явным конструктором;
это может быть вызвано для неявных преобразований типов.

Понятия не имею, как copy-constructor может быть использован для implicit тип conversions, И если в стандарте это опечатка / ошибка, то почему она не исправлена ​​со стандарта C ++ 03? Любые ссылки и примеры (если мы можем использовать его для type conversions) действительно ценятся.

6

Решение

Конструктор копирования может конвертировать из объекта производного типа, разрезая его:

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

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

Другие решения

При наложении имплика встроенная функция-член определяется в определении класса. Ключевое слово inline не используется.

0

По вопросам рекламы [email protected]