Вопросы по теме 'copy-constructor'
Конструктор копирования в С++ вызывается, когда объект возвращается из функции?
Я понимаю, что конструктор копирования вызывается в трех экземплярах
При создании экземпляра одного объекта и его инициализации значениями из другого объекта.
При передаче объекта по значению.
3. Когда объект возвращается из функции по...
48992 просмотров
schedule
27.09.2022
C++: могут ли работать полиморфные конструкторы копирования?
Рассмотреть возможность:
class A
{
public:
A( int val ) : m_ValA( val ) {}
A( const A& rhs ) {}
int m_ValA;
};
class B : public A
{
public:
B( int val4A, int val4B ) : A( val4A ), m_ValB( val4B ) {}
B( const B& rhs ) :...
8547 просмотров
schedule
24.06.2022
С++ копировать-конструировать-конструировать-и-назначать вопрос
Вот выдержка из пункта 56 книги "C++ Gotchas":
Нередко можно увидеть простую инициализацию объекта Y, написанную любым из трех разных способов, как если бы они были эквивалентны.
Y a( 1066 );
Y b = Y(1066);
Y c = 1066;
На самом...
3713 просмотров
schedule
17.05.2022
посторонние вызовы конструктора копирования и деструктора
[дополнение к этому вопросу ]
class A
{
public:
A() {cout<<"A Construction" <<endl;}
A(A const& a){cout<<"A Copy Construction"<<endl;}
~A() {cout<<"A...
383 просмотров
schedule
31.12.2022
Почему конструктор копирования может иметь более одного параметра?
$ 12.8 / 2 - 'Конструктор, не являющийся шаблоном, для класса X является конструктором копирования, если его первый параметр имеет тип X &, const X &, volatile X & или const volatile X &, и либо нет других параметров, либо все остальные параметры...
2006 просмотров
schedule
07.04.2022
Что такое правило трех?
Что означает копирование объекта ?
Что такое конструктор копирования и оператор присваивания копии ?
Когда мне нужно заявить о них самому?
Как я могу предотвратить копирование моих объектов?
313470 просмотров
schedule
25.02.2022
шаблонный конструктор против шаблонного конструктора копирования
У меня есть класс с шаблонным конструктором для неявного преобразования перемещения, однако этот конструктор НЕ ДОЛЖЕН использоваться для класса (который должен быть только копируемым). Однако компилятор всегда пытается использовать шаблонный...
835 просмотров
schedule
27.09.2022
C++: реализация конструктора копирования и оператора присваивания копии
Прочитав о конструкторах копирования и операторах присваивания копирования в C++, я попытался создать простой пример. Хотя приведенный ниже фрагмент, по-видимому, работает, я не уверен, правильно ли я реализую конструктор копирования и оператор...
38339 просмотров
schedule
19.12.2023
Шаблонные функции: конструкция по умолчанию без копирования в C++
Учитывая
struct C {
C() { printf("C::C()\n" ); }
C(int) { printf("C::C(int)\n" ); }
C( const C& ) { printf("copy-constructed\n"); }
};
И шаблонная функция
template< typename T > void...
255 просмотров
schedule
24.05.2022
Копировать данные из указателя или цепочки указателей (указатель объекта, шаблоны)
Как реализован push_back из stl::vector , чтобы он мог копировать данные любого типа... может быть указателем, двойным указателем и т. д....
Я реализую класс шаблона, имеющий функцию push_back , почти аналогичную вектору. В этом методе копия...
1288 просмотров
schedule
12.09.2023
Требование CopyConstructible для элемента контейнера C++ stl
Что касается требования к элементу контейнера C++ stl, в стандарте говорится: тип элемента должен быть CopyConstructible, и существует таблица для требований CopyConstructible. Также по разным книгам (Josuttis и т. д.) сгенерированная копия должна...
2228 просмотров
schedule
27.01.2023
удаление копии/назначения в С++ 11
В VS 2010 SP1 следующее:
class Foo
{
public:
Foo() { }
Foo(Foo const&) = delete; // Line 365
Foo& operator=(Foo const&) = delete; // Line 366
};
не компилируется. Он жалуется:
CPPConsole.cpp(365): ошибка C2059:...
10704 просмотров
schedule
22.06.2022
Наследование конструктора-копирования
struct A{
virtual void what() { cout << "Base" << endl; };
};
struct B : A {
virtual void what() { cout << "Sub" << endl; };
int m;
B() : m(10) {};
B(const A & x) : m(50) {};
};
void main() {
B b1;
B b2 =...
4022 просмотров
schedule
24.05.2023
Можем ли мы вернуть объекты с удаленным/приватным конструктором копирования/перемещения по значению из функции?
В C++03 невозможно вернуть объект класса, имеющего приватный неопределенный конструктор копирования по значению:
struct A { A(int x) { ... } private: A(A const&); };
A f() {
return A(10); // error!
return 10; // error too!
}
Мне...
3589 просмотров
schedule
23.04.2023
Списки инициализаторов: конструкторы копирования и операторы присваивания = избыточность?
Кажется, что списки инициализаторов - это хорошая идея для конструкторов ваших классов и, как я предполагаю, также для конструктора копирования. Для оператора присваивания нужно назначить каждый член в теле функции. Рассмотрим следующий простой...
7736 просмотров
schedule
17.09.2022
Конструктор копирования с умным указателем
У меня есть класс с одним std::unique_ptr в качестве члена класса. Мне было интересно, как правильно определить конструктор копирования, так как я получаю следующее сообщение об ошибке компилятора: error C2248:...
7539 просмотров
schedule
01.07.2022
функции-члены и конструктор копирования
Вы должны явно перечислить все элементы, которые вы хотите скопировать в конструкторе копирования, это означает, что вы можете настроить конструктор копирования для копирования урезанных версий вашего объекта.
но как работает копирование...
502 просмотров
schedule
10.03.2023
избежание неявного копирования с отключенным конструктором копирования
Предположим, у вас есть класс NonCopyable
class NonCopyable
{
public:
NonCopyable(int n){}
~NonCopyable(){}
[...]
private:
[members...]
private:
NonCopyable( const NonCopyable& ); //disabled (no definition)
NonCopyable&...
356 просмотров
schedule
11.06.2023
как я могу найти, где конструктор копирования С++ ИСПОЛЬЗУЕТСЯ через ошибку компиляции?
Вкратце: есть ли способ изменить определение класса таким образом, чтобы оно не могло скомпилироваться в точке использования конструктора копирования независимо от того, где оно используется?
У меня очень большой проект, и я очищал некоторые...
1768 просмотров
schedule
23.06.2022
Должен ли конструктор копирования быть частным или общедоступным
Я пишу абстрактный класс, который будет родителем для нескольких других классов. Я думаю, что конструктор копирования должен быть закрытым, потому что вы используете абстрактный класс, и копировать нечего. Однако я не уверен на 100%.
Я прав, а...
2137 просмотров
schedule
30.06.2023