0
ответов

Как разрешить перемещение конструкции и запретить присваивание и копирование конструкции класса

Есть ли способ разрешить перемещение конструктора и запретить копирование и присваивание. Я могу придумать несколько классов с указателями на файлы и буферы (дескрипторами ресурсов и т.д. ), которые могли бы...
вопрос задан: 6 May 2012 18:30
0
ответов

Когда создаются экземпляры специальных функций-членов шаблонного класса?

Когда создаются специальные функции-члены (, а именно конструкторы копирования/перемещения и операторы присваивания копирования/перемещения )класса шаблона? Как только создается экземпляр самого класса или только...
вопрос задан: 29 April 2012 08:16
0
ответов

Разрешается ли RVO, когда конструктор копирования является закрытым и не реализован?

Предположим, у меня есть класс, в котором конструктор копирования является закрытым и не реализован (, чтобы сделать объект не -копируемым )class NonCopyable { // что-то private :NonCopyable (const NonCopyable& );...
вопрос задан: 24 April 2012 08:25
0
ответов

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

Следующий фрагмент кода вызывает копирование конструктор должен вызываться там, где я ожидал вызова конструктора перемещения: #include struct Foo { Foo() { puts("Foo построено!"); } ...
вопрос задан: 18 April 2012 01:42
0
ответов

Можно ли выбрасывать объекты с закрытыми конструкторами копий?

Я столкнулся с проблемой исключений, которая мне непонятна. В C++ при выбрасывании объекта он сначала копируется во временный объект, а затем этот временный объект передается перехватывающему коду....
вопрос задан: 11 April 2012 09:54
0
ответов

что именно означает подсчет ссылок в c++?,

Что такое подсчет ссылок? В частности, что это для C++? С какими проблемами мы можем столкнуться, если не справимся с ними? Все ли языки требуют подсчета ссылок?
вопрос задан: 6 April 2012 08:31
0
ответов

C++11: неоднозначность между конструктором преобразования и функцией преобразования при инициализации параметра передачи по значению?

#include использование пространства имен std; структура Y; структура X { X(const Y&) { cout << "конструктор преобразования" << endl; } }; структура Y { operator X() { cout << "...
вопрос задан: 12 March 2012 02:45
0
ответов

Конструктор копирования с параметрами по умолчанию никогда не вызывается

Почему на выходе следующей программы отображается только int3, а не int3 & 4? #include класс B { public: явный B (int i) {std :: cout << "int" << i; } B (const B & rhs, ...
вопрос задан: 2 March 2012 01:44
0
ответов

функция-установщик для вектора в c ++

У меня есть следующие классы: class Vertex {public: float X; float Y; float Z; Вершина (первое с плавающей точкой, второе с плавающей точкой, третье с плавающей точкой) {X = первое; Y = второй; Z = ...
вопрос задан: 28 February 2012 19:23
0
ответов

(Концепция простого конструктора) Почему не работает Foo (); сделать что-нибудь?

У меня проблемы с концепцией простого конструктора C ++. Учитывая этот фрагмент кода: #include используя пространство имен std; class Foo { public: Foo () {cout << "...
вопрос задан: 26 February 2012 09:36
0
ответов

Если конструктор копирования является частным или открытым

Я пишу абстрактный класс, который будет родительским для нескольких других классов. Я думаю, что конструктор копирования должен быть частным, потому что вы используете абстрактный класс, а в нем ничего нет ...
вопрос задан: 23 February 2012 16:40
0
ответов

Запрещение присваивания и передачи по значению

Насколько я понимаю, я могу «отключить» копирование и присваивание своим объектам, определив частный конструктор копирования и оператор присваивания: class MyClass { private: MyClass (const MyClass & ...
вопрос задан: 17 February 2012 12:07
0
ответов

Как объявить конструктор копирования в производном классе без конструктора по умолчанию в базе?

Взгляните на следующий пример: class Base { защищено: int m_nValue; общедоступные: База (int nValue): m_nValue (nValue) {} const char * GetName () {return «База»; ...
вопрос задан: 16 February 2012 10:26
0
ответов

Конструкторы копирования в C ++

У меня есть следующие классы: first: class C {public: C (const C & c): _ s (c._s) {} c (): _ s ("") {} string _s ; } второй: класс C2: общедоступный C {public: C2 (const C2 & c2): ...
вопрос задан: 10 February 2012 14:01
0
ответов

Я думал, что массив нельзя копировать

Я находился под впечатление, что массив нельзя копировать (или присваивать). int x [5] = {1,2,3,4,5}; int y [5] = {6,7,8,9,0}; х = у; // Не удалось скомпилировать Но когда я поместил массив внутрь класса, копия ...
вопрос задан: 6 February 2012 21:05
0
ответов

Перегрузка оператора C ++ и конструктор копирования

Мне трудно понять следующее (в частности, сценарий b): (Предположим, я определил оператор присваивания, оператор сложения и конструктор копирования только для вывода факта ...
вопрос задан: 31 January 2012 04:14
0
ответов

как я могу найти, где используется конструктор копирования C++, по ошибке компиляции?

Короче говоря: есть ли способ изменить определение класса так, чтобы он не компилировался в месте использования конструктора копирования, независимо от того, где он используется? У меня очень большой проект, и я ...
вопрос задан: 27 January 2012 17:16
0
ответов

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

Я просто потратил слишком много времени на то, чтобы возиться с ошибкой компиляции в Visual Studio. Я переработал код в небольшой компилируемый пример, представленный ниже, и попробовал его на IdeOne, и получил то же самое ...
вопрос задан: 24 January 2012 18:20
0
ответов

C ++, как правильно скопировать std :: vector в конструкторе копирования?

Я использую эти два класса // Это общая структура данных, содержащая некоторые двоичные данные class A { общедоступный: A (); A (const A &); ~ A (); } // Основной контейнер данных class B { общедоступный: B (); ...
вопрос задан: 14 January 2012 22:32
0
ответов

Как разрешить неконстантный конструктор копирования для временных библиотек

Как разрешить класс с конструктором копирования, который принимает неконстантную ссылку, для создания копии из временных библиотек? Предыстория такова: у меня есть функция, которая должна возвращать список ...
вопрос задан: 12 January 2012 18:26
0
ответов

Почему конструкторы копирования не «связаны», как конструкторы по умолчанию или деструкторы?

Это может быть вопрос с очевидным ответом или дубликат. Если да, то извините, удалю. Почему конструкторы копирования не связаны цепочкой (например, ctors или dtors по умолчанию), чтобы перед производным классом ...
вопрос задан: 8 January 2012 22:46
0
ответов

Конструктор копирования против реализации интерфейса Cloneable

С точки зрения «лучших практик», какая методология предпочтительнее для создания «глубокой копии» объекта?
вопрос задан: 27 December 2011 23:48
0
ответов

Имеет ли приведение указателя к «void *» какой-либо эффект при вызове размещения new?

I ' m просматривая код настраиваемого контейнера, и некоторые его части создают такие элементы: :: new ((void *) & buffer [index]) CStoredType (other); и некоторые делают это так: :: new (& buffer [index] ...
вопрос задан: 9 December 2011 09:52
0
ответов

классы с членами-указателями и без переопределенного конструктора копирования

Когда указатели указывают на что-то, объявленное в том же классе, правильно ли я думаю, что если вы скопируете такой объект, будет несколько наборов указателей, но все они будут указывать на тот же объект (ы)? ...
вопрос задан: 6 December 2011 16:18
0
ответов

Конструктор копирования с интеллектуальным указателем

У меня есть класс с одним std :: unique_ptr в качестве члена класса. Мне было интересно, как правильно определить конструктор копирования, поскольку я получаю следующее сообщение об ошибке компилятора: error C2248: std :: ...
вопрос задан: 29 November 2011 19:46
0
ответов

const в конструкторе копирования в C ++

class x {int a; public: x () {cout << "\ n \ n конструктор по умолчанию"; } x (x & obj) {cout << "\ n \ nскопировать конструктор"; } ...
вопрос задан: 14 November 2011 16:02
0
ответов

Почему в карте структур STL оператор «[]» вызывает двойной вызов структуры dtor?

Я создал простой тестовый пример демонстрирует странное поведение, которое я заметил в большей базе кода, над которой я работаю. Этот тестовый пример ниже. Я полагаюсь на оператор «[]» карты STL для создания ...
вопрос задан: 9 November 2011 07:46
0
ответов

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

В C ++ 03 невозможно вернуть объект класса имеющий частный неопределенный конструктор копирования по значению: struct A {A (int x) {...} private: A (A const &); }; A f () {вернуть A (10); // ...
вопрос задан: 29 October 2011 16:48
0
ответов

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

Я создаю дерево, которое имеет несколько разных типов узлов: двоичный узел, унарный узел и конечный узел. У меня есть ABC, от которой наследуются все узлы. Я пытаюсь написать рекурсивную копию ...
вопрос задан: 27 October 2011 07:46
0
ответов

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

Итак, почему конструктор копирования не вызывается в функции "const Integer operator + (const Integer & rv)". Это из-за РВО. Если да, что мне нужно сделать, чтобы это предотвратить? #include ...
вопрос задан: 15 October 2011 18:57