Вопросы по теме 'copy-constructor'
Конструктор автоматического указателя в VC2008
У меня есть реализация автоматического указателя:
template <typename T, bool Arr = false>
class GAutoPtr
{
T *Ptr;
public:
typedef GAutoPtr<T, Arr> &AutoPtrRef;
GAutoPtr(T *ptr = 0)
{
Ptr = ptr;
}...
511 просмотров
schedule
13.04.2023
стд::строка х(х);
std::string x(x);
Это очень сильно падает на моем компиляторе. Означает ли это, что я должен тестировать this != &that в своих собственных конструкторах копирования, или я могу предположить, что ни один клиент никогда не будет таким глупым?
1016 просмотров
schedule
16.08.2023
С++ - вызов оператора присваивания при создании вместо конструктора копирования
Я хочу обеспечить явное преобразование между структурами вроде нативных типов:
int i1;
i1 = some_float; // this generates a warning
i1 = int(some_float): // this is OK
int i3 = some_float; // this generates a warning
Я думал использовать...
1526 просмотров
schedule
19.07.2022
Обходной путь неограниченного объединения С++
#include <stdio.h>
struct B { int x,y; };
struct A : public B {
// This whines about "copy assignment operator not allowed in union"
//A& operator =(const A& a) { printf("A=A should do the exact same thing as A=B\n"); }...
1455 просмотров
schedule
07.01.2023
в C ++, как дать конструктору копии класса и оператору присваивания одинаковые функции без дублирования кода
Возможные дубликаты: Что такое копия- идиома подкачки? Перегрузка конструктора копирования и оператора = в C ++: возможна ли общая функция?
Можно ли сделать так, чтобы тело конструктора копирования и оператора присваивания...
1702 просмотров
schedule
20.06.2022
RValue, разрешение шаблона и конструкторы копирования (в Visual C++ 2010)
Я создаю простой контейнерный класс, но сталкиваюсь с некоторыми проблемами (повторная сборка в Visual C++ 2010, ошибка ссылки rvalue? )
#include <cassert>
#include <utility>
template<typename T0>
class MyType {
public:...
397 просмотров
schedule
17.08.2023
Как написать конструктор копирования класса Template
Как написать конструктор копирования для класса шаблона. Так что, если параметр шаблона является другим определяемым пользователем классом, его конструктор копирования также вызывается.
Ниже мой класс
template <typename _TyV>
class...
13568 просмотров
schedule
23.08.2023
Разница между двумя способами объявления объекта в стеке
В чем разница между двумя следующими объявлениями, если я не указал конструктор копирования и operator= в классе Beatle ?
Beatle john(paul);
а также
Beatle john = paul;
Редактировать:
При назначении объектов оператор = неявно...
131 просмотров
schedule
05.08.2023
C++, как правильно скопировать std::vector‹Class *› в конструкторе копирования?
Я использую эти два класса
// This is generic data structure containing some binary data
class A {
public:
A();
A(const A&);
~A();
}
// Main data container
class B {
public:
B();
B( const B&);
~B();
protected:...
13688 просмотров
schedule
14.03.2022
Копировать конструктор с более чем одним параметром
Я изучаю С++ и читал конструктор копирования из файла C++: The Complete Reference . В книгах сказано, что
Конструктору копирования разрешено иметь дополнительные параметры, если для них определены аргументы по умолчанию. Однако во всех...
3061 просмотров
schedule
04.05.2023
Убедитесь, что конструктор копирования никогда не вызывается, когда существует конструктор перемещения
При разработке класса, который можно перемещать, но не копировать, естественно объявить конструктор копирования закрытым. При наличии только перемещаемых и тривиально копируемых объектов в качестве членов экземпляра имеет смысл разрешить компилятору...
348 просмотров
schedule
01.09.2022
Почему инициализация копирования такая, какая она есть? Зачем нужен конструктор копирования?
Возможный дубликат: В чем причина того, что копирование и прямая инициализация ведут себя по-разному?
И под инициализацией копирования я имею в виду так:
struct MyStruct
{
MyStruct(int) {}
MyStruct(const MyStruct&) {}...
121 просмотров
schedule
22.06.2023
Как вернуть копию производного объекта в векторе базовых классов?
Вот проблема, у меня есть вектор указателей на абстрактный базовый класс, заполненный производными объектами, например:
class AbstractBase { /* ... */ };
clase Derived1 : public AbstractBase {
Derived1() { }
Derived1( const...
1070 просмотров
schedule
09.08.2023
конструктор копирования класса, который имеет определяемый пользователем член класса
Я читаю размышления в главе 14 C ++: «Функции, которые не наследуются автоматически»
class GameBoard {
public:
GameBoard() { cout << "GameBoard()\n"; }
GameBoard(const GameBoard&) {
cout << "GameBoard(const...
1114 просмотров
schedule
09.06.2023
Что такое конструктор преобразования в C++? Для чего это?
Я слышал, что в С++ есть нечто, называемое «конструкторами преобразования» или «конструкторами преобразования». Что это такое и для чего они? Я видел упоминание об этом коде:
class MyClass
{
public:
int a, b;
MyClass( int i ) {}
}...
43712 просмотров
schedule
25.12.2022
С++ побитовое или поэлементное копирование?
В чем разница между побитовым и поэлементным копированием? Конечно, если вы скопируете элементы, то в конечном итоге вы все равно скопируете биты, представляющие элементы?
5040 просмотров
schedule
14.03.2024
Запрет определения конструктора копирования в унаследованном классе
Я хочу сделать абстрактный базовый класс некопируемым и заставить любые производные от него классы быть некопируемыми. В приведенном ниже коде используется некопируемый объект Boost, как определено в noncopyable.hpp . по-прежнему позволяет...
2331 просмотров
schedule
06.03.2023
Почему resize() вызывает копирование, а не перемещение содержимого вектора при превышении емкости?
Данный класс X ниже (специальные функции-члены, отличные от явно определенной, не относятся к этому эксперименту):
struct X
{
X() { }
X(int) { }
X(X const&) { std::cout << "X(X const&)" << std::endl; }...
2718 просмотров
schedule
13.01.2024
Могу ли я сделать конструктор копирования закрытым и по-прежнему использовать реализацию по умолчанию
Я думаю, что это невозможно, но я мог бы также спросить. Могу ли я объявить закрытый конструктор копирования и по-прежнему использовать реализацию по умолчанию?
Фон: у меня есть класс с очень большими векторами, и я не хочу вызывать конструктор...
1640 просмотров
schedule
19.07.2023
Конструктор копирования создает зависимую копию
Я реализовал конструктор копирования, как он описан здесь . Но все же проблема в том, что когда я обновляю route_copy , то такое же обновление применяется и к route . Итак, я не понимаю, что не так в моем коде?
public class Route implements...
162 просмотров
schedule
15.02.2024