Apa artinya menyalin objek ? Apa konstruktor salin dan operator penugasan salinan ? Kapan saya harus menyatakannya sendiri? Bagaimana saya bisa mencegah objek saya
Apa artinya menyalin objek ? Apa konstruktor salin dan operator penugasan salinan ? Kapan saya harus menyatakannya sendiri? Bagaimana saya bisa mencegah objek saya
Apa idiom ini dan kapan harus digunakan? Masalah apa yang dipecahkan? Apakah idiom berubah ketika C ++ 11 digunakan? Meskipun telah disebutkan di banyak tempat, kami tidak memiliki pertanyaan dan jawaban "apa itu", jadi ini dia. Berikut adalah sebagian daftar tempat yang sebelumnya...
Saya ada kelas : class SymbolIndexer { protected: SymbolIndexer ( ) { } public: static inline SymbolIndexer & GetUniqueInstance ( ) { static SymbolIndexer uniqueinstance_ ; return uniqueinstance_ ; } }; Bagaimana saya memodifikasinya untuk menonaktifkan kode seperti: SymbolIndexer...
Saya ingin menyegarkan ingatan saya pada kondisi di mana kompiler biasanya otomatis menghasilkan konstruktor default, menyalin konstruktor dan operator penugasan. Saya ingat ada beberapa aturan, tetapi saya tidak ingat, dan juga tidak dapat menemukan sumber daya online yang memiliki reputasi baik....
Sejak konstruktor salinan MyClass(const MyClass&); dan operator = kelebihan beban MyClass& operator = (const MyClass&); memiliki kode yang hampir sama, parameter yang sama, dan hanya berbeda pada bagian pengembalian, apakah mungkin memiliki fungsi yang sama untuk digunakan...
Saya tahu bahwa compiler C ++ membuat salinan konstruktor untuk kelas. Dalam hal apa kita harus menulis konstruktor salinan yang ditentukan pengguna? Bisakah Anda memberikan beberapa contoh?
Apakah valid untuk menyalin struct beberapa yang anggotanya tidak diinisialisasi? Saya menduga itu adalah perilaku yang tidak terdefinisi, tetapi jika demikian, itu membuat meninggalkan anggota yang tidak diinisialisasi dalam sebuah struct (bahkan jika anggota tersebut tidak pernah digunakan...
Di masa lalu, saya telah mengatakan untuk menyalin koleksi dengan aman, lakukan sesuatu seperti: public static void doThing(List<String> strs) { List<String> newStrs = new ArrayList<>(strs); atau public static void doThing(NavigableSet<String> strs) {