Описание тега copy-constructor
A copy constructor is a constructor that creates a new object that is a clone of an existing object. The term is mostly used in the C++ programming language, where copy constructors have a special status.
3
ответа
Использование конструктора копирования в операторе присваивания
Это противоречит руководству по стилю использовать конструктор копирования в операторе присваивания? То есть: const Obj & Obj::operator=(const Obj & source) { if (this == &source) { return *this; } // deep copy using copy-constructor Obj…
14 сен '14 в 05:14
1
ответ
Конструкторы копирования шаблона внутри класса шаблона
У меня есть шаблон класса, который имеет несколько конструкторов копирования шаблона, и это работает. Но я хочу специализировать конструктор копирования для int и не могу этого сделать. Эта программа печатает: "CC". Но нужно: "iC" Помоги мне, пожалу…
06 фев '15 в 16:35
3
ответа
Отражение в C++ Qt с копированием и назначением
Как QObject документация и многие другие объясняют, QObject имеет идентификатор и, следовательно, скрывает свой конструктор копирования и оператор присваивания. Тем не менее, я не вытекаю из QObject для его функции динамических свойств или функции с…
23 июл '11 в 06:03
1
ответ
C++ Как добавить очередь unique_ptr в вектор
Упрощенный код: #include <queue> #include <memory> #include <vector> class Foo { public: Foo() {}; virtual ~Foo() {} }; int main() { std::queue<std::unique_ptr<Foo>> queue; auto element = std::make_unique<Foo>(); …
05 июн '18 в 01:10
2
ответа
Как избежать instanceof в конструкторе копирования для унаследованных Java Clases
Я пишу конструктор копирования для клонирования объекта. Когда класс имеет ссылку на объект, который в дальнейшем наследуется несколькими другими классами. class Person { String name; Address address; } class HomeAdress extends Address { } class Off…
01 мар '13 в 14:09
3
ответа
Java: передача аргумента в конструктор копирования
Inside of class ATester { private A<Integer> p1,p2; p1 = new B<Integer>(); p2 = new B<Integer>( p1); } public class B<E extends Comparable<? super E>> implements A<E> { public B() // default constructor { // skip …
24 ноя '12 в 21:11
1
ответ
cpp: "нет экземпляра конструктора"book::book"соответствует списку аргументов"
Я попробовал этот код в блоке кода, и он работает, но он вызывает у меня проблему в Visual Studio. Я не знаю, где именно проблема. Я получаю ошибку: нет экземпляра конструктора "book::book", соответствующего списку аргументов Обновленный код: #incl…
14 апр '18 в 01:30
3
ответа
Почему неявный конструктор копирования вызывает конструктор копирования базового класса, а определенный конструктор копирования - нет?
Рассмотрим иерархию классов, где A это базовый класс и B происходит от A, Если конструктор копирования не определен в B, компилятор будет синтезировать один. При вызове этот конструктор копирования вызовет конструктор копирования базового класса (да…
07 фев '12 в 14:42
2
ответа
В какой строке вызывается конструктор копирования?
У меня есть несколько строк кода, и я не понимаю, почему и где вызывается конструктор копирования. Не могли бы вы объяснить это мне? Выход: CS10 CS99 CC100 Obj10 = Obj100 D100 Obj10 = Obj99 D99 D10 Это мой исходный код: #include <iostream> usi…
03 июл '14 в 18:43
4
ответа
C++: автоматически сгенерированный (по умолчанию) копировальный конструктор
Если я объявлю класс как, (без динамического выделения памяти, без указателя): class A{ int a,b; public: A(); A(int,int); A& operator=(const A); }; Безопасно ли не объявлять конструктор копирования? Как выглядит конструктор копирования по умолча…
07 фев '13 в 14:58
1
ответ
C++ конструктор копирования против перегруженного назначения против конструктора лучшие практики?
Это скорее вопрос мнения / передового опыта. Я новичок в C++, и в настоящее время я работаю над программой, которая использует динамически распределенные строки. Наконец-то я понял разницу между конструкторами, конструкторами копирования и перегруже…
28 июл '15 в 20:59
1
ответ
Как скопировать анонимный союз
У меня есть анонимный союз в структуре struct A { union { char c; double d; }; A(const A &a) { c = a.c; d = a.d; } }; Мне было интересно, как лучше определить его конструктор копирования. Нужно ли копировать все поля объединения? Я думаю, мы дол…
06 фев '16 в 01:32
3
ответа
Нужно ли копировать статический член в конструктор копирования, и если да, то как это сделать?
У меня есть класс с контейнером, который объявлен статическим: class test { public: test(const ClassA& aRef, const std::string& token); test(const test& src); ~test(); private: ClassA& m_ObjRef; static std::vector<std::string> …
11 июн '13 в 21:33
1
ответ
C++ копии объектов с указателями на абстрактные классы
Рассмотрим Container класс, который в основном хранит вектор unique_ptrс Box объекты и могут выполнять некоторые вычисления на них. class Container { private: std::vector<std::unique_ptr<Box> > boxes_; public: Container(std::vector<st…
29 окт '16 в 03:31
2
ответа
Конструктор и константная ссылка
Я сейчас изучаю C++ (начал как 2 дня назад), и у меня есть некоторые проблемы с написанием Copy C'tor of Node. Узел является классом следующим образом: template <class T> class Node { T* data; Node<T>* next; friend class Iterator<T>…
11 июн '15 в 23:53
1
ответ
Вызов конструктора копии после простого наследования
У меня есть сомнения относительно какой-то концепции наследования, я заявляю то, что знаю, пожалуйста, поправьте меня, если я ошибаюсь. Закрытые члены базового класса наследуются производным классом, но производный класс не может получить к ним дост…
08 июл '12 в 06:25
2
ответа
Вернуть локальное значение из функции без запуска конструктора копирования
Я пытаюсь удалить конструктор копирования, используя систему типов C++, чтобы предотвратить копирование объекта. struct DeleteCopyConstructor { DeleteCopyConstructor() {}; DeleteCopyConstructor(DeleteCopyConstructor& op2) = delete; DeleteCopyCon…
25 июн '17 в 20:56
3
ответа
Я не могу понять это поведение конструктора копирования
У меня странное поведение со следующим: using namespace std; struct Number { Number(int init) : a(init) {} Number() {}; int a; static Number& getNumber() { return Number(555); } //Number(const Number& other) //{ // a = other.a; //} // I've c…
27 сен '17 в 13:38
2
ответа
Компилятор выполняет оптимизацию возвращаемого значения в случае возврата переменной-члена?
Учитывая следующий код class foo { private: boost::shared_ptr <std::deque<foo> > m_ptr; public: foo(); boost::shared_ptr <std::deque<foo> > get_my_ptr() { return m_ptr; } }; И когда мы позвоним get_my_ptr() функционировать та…
10 фев '16 в 06:54
1
ответ
Один вопрос о массиве без конструктора по умолчанию в C++
Из предыдущего поста я узнал, что существует два способа, по крайней мере, объявить массив без конструкторов по умолчанию. Как это class Foo{ public: Foo(int i) {} }; Foo f[5] = {1,2,3,4,5}; Foo f[5] = {Foo(1), Foo(2), Foo(3), Foo(4), Foo(5)}; Я так…
06 мар '10 в 16:22