Что означает копирование объекта ? Какой конструктор копирования и оператор копирующего присваивания ? Когда я должен объявить их сам? Как я могу предотвратить копирование моих объектов?...
Что означает копирование объекта ? Какой конструктор копирования и оператор копирующего присваивания ? Когда я должен объявить их сам? Как я могу предотвратить копирование моих объектов?...
Что это за идиома и когда ее следует использовать? Какие проблемы это решает? Меняется ли идиома при использовании C ++ 11? Хотя это упоминалось во многих местах, у нас не было ни единого вопроса и ответа «что это такое», так что вот оно. Вот частичный список мест, где это было упомянуто ранее:...
У меня есть класс: class SymbolIndexer { protected: SymbolIndexer ( ) { } public: static inline SymbolIndexer & GetUniqueInstance ( ) { static SymbolIndexer uniqueinstance_ ; return uniqueinstance_ ; } }; Как я должен изменить его, чтобы отключить код вроде: SymbolIndexer symbol_indexer_ =...
Я хочу освежить свою память об условиях, при которых компилятор обычно автоматически генерирует конструктор по умолчанию, конструктор копирования и оператор присваивания. Я припоминаю, что были некоторые правила, но я не помню, а также не могу найти авторитетный ресурс в Интернете. Кто-нибудь может...
Поскольку конструктор копирования MyClass(const MyClass&); и оператор = перегрузка MyClass& operator = (const MyClass&); имеют практически одинаковый код, одинаковый параметр и отличаются только при возврате, возможно ли иметь общую функцию для них обоих?...
Я знаю, что компилятор C ++ создает конструктор копирования для класса. В каком случае нам нужно написать определяемый пользователем конструктор копирования? Вы можете привести несколько примеров?...
Допустимо ли копировать структуру, некоторые члены которой не инициализированы? Я подозреваю, что это неопределенное поведение, но если это так, то оставлять неинициализированные члены в структуре (даже если эти члены никогда не используются напрямую) довольно опасно. Поэтому мне интересно, есть ли...
В прошлом я говорил, что для безопасного копирования коллекции сделайте что-то вроде: public static void doThing(List<String> strs) { List<String> newStrs = new ArrayList<>(strs); или public static void doThing(NavigableSet<String> strs) { NavigableSet<String> newStrs...