Конструктор копирования для класса ссылки c++/cx, имеющего собственный указатель C++.

У меня есть класс ссылки C++/CX, который содержит указатель неуправляемого класса C++. Классу ref не нужен какой-либо конструктор копирования, потому что они управляются с помощью покупки ссылки, должен ли я в этом случае написать конструктор копирования класса ref, чтобы избежать какой-либо поверхностной копии этого неуправляемого указателя?


person AIK    schedule 13.08.2015    source источник


Ответы (1)


Компилятор C++ обеспечивает поведение ссылочного типа ref class. И делает это, не автоматически генерируя конструктор копирования и оператор присваивания, как это делается для обычного класса C++. Если вы пытаетесь копировать-сконструировать, вы получите пощечину:

класс "Foo::Bar" не имеет подходящего конструктора копирования

Так что нет, намеренно = delete не нужно. Языки клиента, которые используют ваш класс ссылки, будут иметь такое же ограничение.

person Hans Passant    schedule 13.08.2015