Результаты поиска по запросу "copy-constructor"

5 ответов

Ваш первый пример не компилируется, так как в c ++ нет неявного понижения (Base * obj2 = new Derived (* obj) генерирует ошибку, * obj не может быть неявно преобразован в Derived &). Так что неясно, что за проблему вы пытаетесь решить с помощью виртуального конструктора

у люди определяют личный конструктор копирования? Когда сделать конструктор копирования и частный оператор присваивания хорошим дизайном? Если в классе нет членов, которые являются указателями или дескрипторами для уникального объекта ...

2 ответа

Точно - он не создан и не удален на месте вызова, он просто живет.

спрашивалпохожий вопрос [https://stackoverflow.com/questions/4200190/]Некоторое время назад, но я до сих пор неясен в некоторых деталях. При каких обстоятельствах вызывается конструктор postblit? Какова семантика перемещения объекта? Будет ли ...

9 ответов

Выше, когда выполняется a = a, вызывается перегрузка оператора, которая вызывает функцию копирования, которая затем обнаруживает самоопределение.

ня в университете меня порекомендовал профессор(this != &copy) в конструкторе копирования, аналогично тому, как вы должны делать это при перегрузкеoperator=, Однако я усомнился в этом, потому что не могу вспомнить ни одной ситуации,this будет ...

ТОП публикаций

3 ответа

 не имеет перегруженного оператора присваивания (=).

жные дубликаты: Почему копирование потока строк не допускается? [https://stackoverflow.com/questions/6010864/why-copying-stringstream-is-not-allowed] как скопировать из одного объекта stringstream в другой в C ...

1 ответ

Копировать конструктор фигурных скобок инициализации

"мы можем инициализировать объекты класса, для которого мы не определили конструктор, используя: поэлементная инициализация.копия инициализации.инициализация по умолчанию. Например: struct Work { string author; string name; int year; }; Work s9 ...

2 ответа

Почему конструктор копирования не вызывается в этом коде

Так почему же конструктор Copy не вызывается в "const Целочисленный оператор + (const Integer & rv)Функция. Это из-за РВО.Если да, что мне нужно сделать, чтобы предотвратить это? #include <iostream> using namespace std; class Integer { int i; ...

3 ответа

C ++ Вызов конструктора копирования для неизвестного производного класса через абстрактный базовый класс

Я создаю дерево, которое имеет несколько разных типов узлов: двоичный узел, унарный узел и терминальный узел. У меня есть азбука, от которой наследуются все узлы. Я пытаюсь написать рекурсивный конструктор копирования для дерева следующим ...

5 ответов

Можем ли мы вернуть объекты, имеющие удаленный / закрытый конструктор копирования / перемещения, по значению из функции?

В C ++ 03 невозможно вернуть объект класса, имеющий частный неопределенный конструктор копирования по значению: struct A { A(int x) { ... } private: A(A const&); }; A f() { return A(10); // error! return 10; // error too! }Мне было интересно, ...

8 ответов

Почему в Java нет конструктора копирования?

Почему Java не поддерживает конструктор копирования, как в C ++?

2 ответа

Скопировать конструктор elision? [Дубликат]

Возможный дубликат: Почему деструктор был вызван только один раз? [https://stackoverflow.com/questions/6422114/why-has-the-destructor-been-called-only-once] Учитывая код ниже, я не понимаю вывод в gcc. Я ожидаю, что два объекта будут созданы и ...