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...
Vous pouvez trouver les éléments suivants sur le Web: Constructeur de type supérieur == type? class AClass[T]{...} // For example, class List[T] Certains disent qu'il s'agit d'un type de type supérieur, car il résume les types qui seraient conformes à la définition. Les types supérieurs sont des...
Je veux avoir une classe avec un membre de données statique privé (un vecteur qui contient tous les caractères az). En java ou C #, je peux simplement créer un "constructeur statique" qui fonctionnera avant de créer des instances de la classe, et configure les données statiques membres de la...
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_ =...
J'ai initialement posté cela comme une question uniquement sur les destructeurs, mais maintenant j'ajoute la considération du constructeur par défaut. Voici la question originale: Si je veux donner à ma classe un destructeur qui est virtuel, mais qui est sinon le même que ce que le compilateur...
En C #, C ++ et Java, lorsque vous créez un constructeur prenant des paramètres, celui sans paramètre par défaut disparaît. J'ai toujours juste accepté ce fait, mais maintenant j'ai commencé à me demander pourquoi. Quelle est la raison de ce comportement? Est-ce juste une "mesure de sécurité /...
J'ai une classe avec un private char str[256]; et pour cela j'ai un constructeur explicite: explicit myClass(const char *func) { strcpy(str,func); } Je l'appelle comme: myClass obj("example"); Lorsque je compile ceci, je reçois l'avertissement suivant: conversion obsolète de la constante de chaîne...
Comme JPA l'exige, les @Entityclasses doivent avoir un constructeur par défaut (non arg) pour instancier les objets lors de leur récupération à partir de la base de données. Dans Kotlin, les propriétés sont très pratiques à déclarer dans le constructeur principal, comme dans l'exemple suivant:...
J'ai essayé: class Foo(bar: Int) contre: class Foo(private val bar: Int) et ils semblent se comporter de la même manière bien que je ne puisse trouver nulle part disant que cela se (bar: Int)développe (private val bar: Int)donc ma question est, sont-ils identiques / similaires? Sur une note...
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...
Avec C ++ 11 std::array, ai-je la garantie que la syntaxe std::array<T, N> x;initialisera par défaut tous les éléments du tableau? EDIT : sinon, y a-t-il une syntaxe qui fonctionnera sur tous les tableaux (y compris les tableaux de taille zéro) pour initialiser tous les éléments à leur...
Prenons l'exemple du cours suivant: class Sometype { int someValue; public Sometype(int someValue) { this.someValue = someValue; } } Je souhaite ensuite créer une instance de ce type en utilisant la réflexion: Type t = typeof(Sometype); object o = Activator.CreateInstance(t); Normalement, cela...
Disons que j'ai un type et que je veux rendre son constructeur par défaut privé. J'écris ce qui suit: class C { C() = default; }; int main() { C c; // error: C::C() is private within this context (g++) // error: calling a private constructor of class 'C' (clang++) // error C2248: 'C::C' cannot...
Est-ce que créer un constructeur ayant plusieurs arguments explicita un effet (utile)? Exemple: class A { public: explicit A( int b, int c ); // does explicit have any (useful) effect? };
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?
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?...
J'ai une classe comme ça: struct event_counts { uint64_t counts[MAX_COUNTERS]; event_counts() : counts{} {} // more stuff }; Habituellement, je veux initialiser par défaut (zéro) le countstableau comme indiqué. À des emplacements sélectionnés identifiés par le profilage, cependant, je voudrais...
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...
venant d'un arrière-plan principalement python, j'ai eu un peu de mal à travailler avec des types en C ++. J'essaie d'initialiser une variable de classe via l'un des constructeurs surchargés qui prennent différents types comme paramètres. J'ai lu que l'utilisation du automot - clé peut être...