Результаты поиска по запросу "copy-constructor"
Какой компилятор / версию вы используете? Когда я запускаю это с помощью Visual Studio 2017 (отладочная сборка), он делает только одну копию.
аюсь передать объект функции в поток. Я запутался, когда обнаружил, что конструктор копирования вызывается два раза в основном потоке. Почему бы просто не скопировать один раз вместо двух? Второй экземпляр бесполезен. Фрагмент кода: #include ...
обычно является антипаттерном, потому что он может предотвратить оптимизацию возвращаемого значения. И в этом примере это только «правильно», поскольку основной пример не имеет смысла.
лько я понимаю, конструктор перемещения вызывается, если он существует, когда мы возвращаем локальный объект из функции. Однако я столкнулся с ситуацией, когда вместо этого вызывался конструктор копирования, как показано в следующем примере в ...
и забыть о своем старом общем объекте (в отличие от копирования значения); если это не желаемое поведение, вам нужно написать оператор присваивания
ал и искал это, но я не могу решить этот вопрос. Я хотел бы объект, который при копировании в другой объект, оба объекта имеют определенную переменную-член. Поэтому, когда я изменяю значение переменной-члена object1, она также меняет переменную в ...
Копировать конструкторы и операторы присваивания
Я написал следующую программу для проверки, когда вызывается конструктор копирования и когда вызывается оператор присваивания: #include class Test { public: Test() : iItem (0) { std::cout << "This is the default ctor" << std::endl; } Test (const ...
Это я уже знаю, его оптимизация, сделанная компилятором.
ал разницу между прямой инициализацией и инициализацией копирования (§8.5 / 12): T x(a); //direct-initialization T y = a; //copy-initializationЧто я понимаю из чтения окопия ...
Найти основную причину «не может получить доступ к закрытому члену, объявленному в классе« QObject »»
Я понимаю, почему я получаюC2248: 'QObject::QObject' : cannot access private member declared in class 'QObject' , Объекты Qt не могут быть скопированы, как описано ...
Это заботится о разрушении объектов.
ользую класс (объект), у которого нет оператора копирования: его в принципе нельзя скопировать прямо сейчас. у меня есть std::map<int,Object> objects переменная, которая перечисляет объекты с идентификатором int. Как я могу добавить объект на ...
Почему конструктор копирования здесь не вызывается?
Для следующего кода: #include<iostream> using namespace std; class Test { public: Test(const Test &t) { cout<<"Copy constructor called"<<endl;} Test() { cout<<"Constructor called"<<endl;} }; Test fun() { cout << "fun() Called\n"; Test t; return ...
Const
я есть класс (Uniform), который имеет конструктор с 2 параметрами и конструктор копирования по умолчанию (он содержит только int, float, std :: vector и std :: map). Я создал std::vector<Uniform> uniformsчто я хочу заполнить с ...
Конструктор копирования создает новый объект, используя содержимое объекта аргумента. Перегруженный оператор присваивания присваивает содержимое существующего объекта другому существующему объекту того же класса.
разница между перегрузкой оператора= в классе и томуконструктор копирования? В каком контексте каждый из них называется? Я имею в виду, если у меня есть следующее: Person *p1 = new Person("Oscar", "Mederos"); Person *p2 = p1;Какой из ...