Описание тега noncopyable

Класс boost::noncopyable используется в качестве базового класса, чтобы сделать тип C++ невозможным для копирования или присвоения. Этот тег предназначен для некопируемой утилиты библиотеки boost.
5 ответов

Виртуальный деструктор для наддува: некопируемые классы?

У меня есть вопрос по поводу следующего кода: class MyClass : private boost::noncopyable { public: MyClass() {} virtual ~MyClass() {} } class OtherClass : private boost::noncopyable { private: MyClass* m_pMyClass; } Я думаю, что MyClass не может быт…
12 янв '10 в 20:45
6 ответов

Как сделать копируемый boost::signal?

Я понимаю почему boost::signal не копируемый (это потому, что копирование сигнала не имеет ясного смысла), но мне нужна его версия, которая предоставляет некоторый вид ctor для копирования (либо неоперативный, либо тот, который копирует все соединен…
05 мар '09 в 19:06
2 ответа

Наследование noncopyable не имеет никакого эффекта в классах dllexport

ОБНОВЛЕНИЕ нижеуказанная ошибка исправлена ​​в VS2012, и noncopyable работает как положено Это и вопрос, и способ предоставить информацию / предупредить других, чтобы они не попали в ту же ловушку, что и я: кажется, что использование noncopyable Баз…
20 сен '11 в 09:23
1 ответ

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

У меня есть класс class A { public: A(int x): x_(x) {} void SetValue(int m) {x_=m}; private: DISALLOW_COPY_AND_ASSIGN(A); }; Я пытаюсь создать вектор объектов типа А vector<std::unique_ptr<A>> objects; objects.reserve(10); for (int i = 0…
10 окт '17 в 18:43
3 ответа

Инициализируйте статический std::map с не копируемым значением при встроенной инициализации в форме

Я хотел бы инициализировать статический std::map где значение не подлежит копированию. Я позвоню своему классу ValueClass. ValueClass имеет std::unique_ptr как частный член, и я даже гарантирую, что ValueClass не будет копироваться путем расширения …
16 дек '18 в 21:35
4 ответа
1 ответ

Повторение Q_DISABLE_COPY в производных классах QObject

В Qt есть макрос, который позволяет объявлять конструкторы частных копий и операторы присваивания для классов: http://qt-project.org/doc/qt-5.0/qtcore/qobject.html Говорят, что этот макрос следует использовать для всех производных классов QObject (о…
08 ноя '13 в 08:15
2 ответа

Как запретить пользователям копировать или печатать текст с моей веб-страницы?

У меня есть веб-страница (на платформе.Net, с C#) с текстовым содержимым, и я хочу запретить пользователям копировать текст или печатать документ.Если пользователю трудно получить копию страницы, я знаю, что он может. Но я бы хотел сделать это как м…
22 дек '11 в 22:35
1 ответ

Проблема системы ввода SFML

Поэтому я переносил игровой движок с SDL на SFML, и теперь у меня возникла проблема с моей системой ввода. Input.h #ifndef BULLWHIP_INPUT_H #define BULLWHIP_INPUT_H #include class bc_Input { public: bool bm_KeyHit(sf::Key::Code key); bool bm_KeyDown…
03 окт '10 в 12:55
1 ответ

`noncopyable` с пользовательским деструктором

Мне нужно noncopyable класс, который имеет объявленный деструктор и наивный подход не работает: см. https://ideone.com/mU8aoc. В чем проблема с деструктором, почему перемещение не работает так же, как и без него? И конечно, как это исправить? Для сп…
30 апр '16 в 02:32
2 ответа

C++ необязательный <> и отложенное создание некопируемого объекта

Смотрите ниже код, Вопрос в том, как я могу отложить создание объекта, который нельзя скопировать, используя опциональный<>. В примере я использую Boost:: Optional, хотя я верю, что теперь это тоже стандарт Std:: Option. Да, я мог бы использовать sc…
2 ответа

Каковы варианты использования для booster::noncopyable?

Первое: это boost::noncopyable или booster::noncopyable. Я видел как в разных местах. Почему кто-то хочет сделать класс не копируемым? Можете ли вы привести несколько примеров использования?
19 авг '10 в 05:03
11 ответов

Каковы преимущества boost::noncopyable

Чтобы предотвратить копирование класса, вы можете очень легко объявить закрытый конструктор копирования / операторы присваивания. Но вы также можете наследовать boost::noncopyable, Каковы преимущества / недостатки использования наддува в этом случае?
19 окт '11 в 15:40
1 ответ

Помещение производного подвижного, но не копируемого в вектор дает ошибку компиляции

У меня возникают ошибки компилятора при попытке emplace_back в векторе не копируемых, но подвижных объектов с тонким поворотом наследования, что, насколько мне известно, не должно изменить проблему. Это законный C++ и это ошибка Visual Studio 2015, …
05 фев '17 в 00:05
1 ответ

Как заставить "фабричную функцию" возвращать не копируемый объект?

контекст Пытаясь создать какой-нибудь архив gzip с другим именем внутри, я написал следующий фрагмент кода. #include &lt;iostream&gt; #include &lt;utility&gt; #include &lt;boost/iostreams/filtering_stream.hpp&gt; #include &lt;boost/iostreams/device…
1 ответ

Размещение нового для не копируемых объектов

Я пытаюсь смоделировать vector уникальных указателей, просто чтобы узнать, как размещение новых работает с объектами, которые не могут быть скопированы. class Person { string name; const int born; public: Person (string N, int B) : name(N), born(B) …
08 сен '18 в 20:50
6 ответов

Реализация предоставленного конструктора копии и оператора присваивания

У меня небольшая путаница в отношении ситуаций, когда реализация (компилятор) не будет предоставлять конструктор копирования и оператор присваивания копии. Когда мы объявляем копию ctor и / или оператор присваивания копирования в нашем классе. Кто-т…
3 ответа

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

Есть ли способ использовать контейнеры STL с не копируемыми элементами? что-то вроде этого: class noncopyable { noncopyable(noncopyable&amp;); const noncopyable&amp; operator=(noncopyable&amp;); public: noncopyable(){}; }; int main() { list&lt;nonco…
17 сен '09 в 17:42
2 ответа

Создание не копируемых, но подвижных объектов в C++

Просто вопрос. Глядя на библиотеки C++ Boost (в частности, класс boost:: thread), я подумал: "Как создать класс, определяющий объекты, которые нельзя скопировать, но которые можно вернуть из функции?" Хорошо рассмотрим этот пример, класс boost:: thr…
23 ноя '10 в 19:50
10 ответов

Как сделать этот объект C++ не подлежащим копированию?

Смотрите заголовок. Я имею: class Foo { private: Foo(); public: static Foo* create(); } Что мне нужно сделать, чтобы Foo не копировался? Спасибо!
31 янв '10 в 22:59