Co oznacza kopiowanie obiektu ? Co to jest konstruktor kopii i operator przypisania kopii ? Kiedy sam muszę je zadeklarować? Jak mogę zapobiec kopiowaniu moich
Co oznacza kopiowanie obiektu ? Co to jest konstruktor kopii i operator przypisania kopii ? Kiedy sam muszę je zadeklarować? Jak mogę zapobiec kopiowaniu moich
Czym jest ten idiom i kiedy należy go używać? Jakie problemy rozwiązuje? Czy idiom zmienia się, gdy używany jest C ++ 11? Chociaż w wielu miejscach wspomniano o tym, nie mieliśmy żadnego pojedynczego pytania i odpowiedzi „co to jest”, więc oto jest. Oto częściowa lista miejsc, w których wcześniej...
Mam klasę : class SymbolIndexer { protected: SymbolIndexer ( ) { } public: static inline SymbolIndexer & GetUniqueInstance ( ) { static SymbolIndexer uniqueinstance_ ; return uniqueinstance_ ; } }; Jak mam go zmodyfikować, aby wyłączyć kod, taki jak: SymbolIndexer symbol_indexer_ =...
Chcę odświeżyć pamięć w warunkach, w których kompilator zazwyczaj automatycznie generuje domyślny konstruktor, konstruktor kopiujący i operator przypisania. Przypominam sobie, że były pewne zasady, ale nie pamiętam, a także nie mogę znaleźć renomowanego źródła w Internecie. Czy ktoś może...
Ponieważ konstruktor kopiujący MyClass(const MyClass&); i przeciążenie operatora = MyClass& operator = (const MyClass&); mają prawie taki sam kod, ten sam parametr i różnią się tylko zwrotem, czy jest możliwe, aby obie miały wspólną funkcję?
Wiem, że kompilator C ++ tworzy konstruktor kopiujący dla klasy. W takim przypadku musimy napisać konstruktor kopiujący zdefiniowany przez użytkownika? Czy możesz podać kilka przykładów?
Czy można skopiować strukturę, której niektórzy członkowie nie są zainicjowani? Podejrzewam, że jest to zachowanie nieokreślone, ale jeśli tak, sprawia, że pozostawienie niezainicjowanych członków w strukturze (nawet jeśli ci członkowie nigdy nie są bezpośrednio wykorzystywani) jest dość...
W przeszłości mówiłem, aby bezpiecznie skopiować kolekcję i zrobić coś takiego: public static void doThing(List<String> strs) { List<String> newStrs = new ArrayList<>(strs); lub public static void doThing(NavigableSet<String> strs) { NavigableSet<String> newStrs...