Que signifie copier un objet ? Que sont le constructeur de copie et l' opérateur d'affectation de copie ? Quand dois-je les déclarer moi-même? Comment empêcher la copie de mes objets?
Que signifie copier un objet ? Que sont le constructeur de copie et l' opérateur d'affectation de copie ? Quand dois-je les déclarer moi-même? Comment empêcher la copie de mes objets?
Quel est cet idiome et quand doit-il être utilisé? Quels problèmes résout-il? L'idiome change-t-il lorsque C ++ 11 est utilisé? Bien que cela ait été mentionné à de nombreux endroits, nous n'avions pas de question et de réponse «qu'est-ce que c'est», alors voici. Voici une liste partielle des...
J'ai un cours : class SymbolIndexer { protected: SymbolIndexer ( ) { } public: static inline SymbolIndexer & GetUniqueInstance ( ) { static SymbolIndexer uniqueinstance_ ; return uniqueinstance_ ; } }; Comment dois-je le modifier pour désactiver le code comme: SymbolIndexer symbol_indexer_ =...
Je veux rafraîchir ma mémoire sur les conditions dans lesquelles un compilateur génère généralement automatiquement un constructeur par défaut, un constructeur de copie et un opérateur d'affectation. Je me souviens qu'il y avait des règles, mais je ne me souviens pas et je ne peux pas non plus...
Depuis un constructeur de copie MyClass(const MyClass&); et an = surcharge de l'opérateur MyClass& operator = (const MyClass&); ont à peu près le même code, le même paramètre, et ne diffèrent que sur le retour, est-il possible d'avoir une fonction commune pour les deux à utiliser?...
Je sais que le compilateur C ++ crée un constructeur de copie pour une classe. Dans quel cas devons-nous écrire un constructeur de copie défini par l'utilisateur? Peux-tu donner quelques exemples?
Est-il valide de copier une structure dont certains membres ne sont pas initialisés? Je soupçonne que c'est un comportement indéfini, mais si c'est le cas, cela rend très dangereux le fait de laisser des membres non initialisés dans une structure (même si ces membres ne sont jamais utilisés...
Dans le passé, j'ai dit que pour copier une collection en toute sécurité, faites quelque chose comme: public static void doThing(List<String> strs) { List<String> newStrs = new ArrayList<>(strs); ou public static void doThing(NavigableSet<String> strs) {...