Questions sur copy-constructor

8
réponses

Quelle est La Règle de Trois?

que signifie copier un objet ? Quels sont les constructeur de copie et le copier l'opérateur d'affectation ? Quand dois-je déclarer moi-même? Comment puis-je empêcher la copie de mes objets?
demandé sur 2010-11-13 16:27:09
5
réponses

Qu'est-ce que l'idiome "copier-échanger"?

Quel est cet idiome et quand doit-il être utilisé? Les problèmes qui permet-il de résoudre? Est-ce que l'idiome change ... ment il optimise la copie et l'échange de l'idiome C++: affecter dynamiquement un tableau d'objets?
demandé sur 2010-07-19 12:42:09
3
réponses

Désactiver le constructeur de copie

j'ai une classe: class SymbolIndexer { protected: SymbolIndexer ( ) { } public: static inline SymbolIndexe ... n'autoriser que le code comme: SymbolIndexer & ref_symbol_indexer_ = SymbolIndexer::GetUniqueInstance ( );
demandé sur 2011-05-21 00:15:04
6
réponses

Clone () vs Copy constructor - ce qui est recommandé en java [dupliquer]

cette question a déjà une réponse ici: clone () vs copie constructeur vs méthode ... méthode clone vs constructeur de copie en java. laquelle est la bonne solution. où utiliser chacun des cas?
demandé sur 2010-03-11 22:08:43
2
réponses

Conditions pour la génération automatique de ctor par défaut/copie/déplacement et opérateur de copie / déplacement?

je veux rafraîchir ma mémoire sur les conditions dans lesquelles un compilateur génère typiquement automatiquement un ... s, mais je ne m'en souviens pas, et je ne trouve pas non plus de ressource fiable en ligne. Quelqu'un peut-il aider?
demandé sur 2011-02-09 14:01:30
3
réponses

Constructeur de copie et l'opérateur = surcharge en C++: est une fonction commune possible?

depuis un constructeur de copie MyClass(const MyClass&); et An = surcharge de l'opérateur MyCl ... e, le même paramètre, et ne diffèrent que sur le retour, est-il possible d'avoir une fonction commune pour les deux?
demandé sur 2009-11-14 18:52:29
6
réponses

Quand devons-nous utiliser les constructeurs de copies?

je sais que le compilateur C++ crée un constructeur de copie pour une classe. Dans quel cas faut-il écrire un constructeur de copie? Pouvez-vous donner quelques exemples?
demandé sur 2010-07-19 09:21:03
7
réponses

Allouer dynamiquement un tableau d'objets

c'est un peu une question de débutants, mais je n'ai pas fait C++ depuis longtemps, donc voilà... j'ai une cl ... e ce qui ne va pas, et d'autres soulignent correctement comment et pourquoi vector s sont une bonne façon d'aller.
demandé sur 2008-11-01 10:15:28
6
réponses

Pourquoi l'opérateur de copie doit-il retourner une référence/const de référence?

dans C++, le concept de renvoi de référence de l'opérateur d'assignation de copie n'est pas clair pour moi. Pourquoi l ... (const A& a) { if (this == &a) { return *this; } param = a.param; return *this; }
demandé sur 2010-06-24 01:45:23
5
réponses

Le constructeur de copies et l'opérateur de tâche

Si je remplace operator= le constructeur de copie d'utiliser automatiquement le nouvel opérateur? De même, si je définis un constructeur de copie, operator= héritera-t-il automatiquement du comportement du constructeur de copie?
demandé sur 2011-03-20 14:41:40
4
réponses

Est-ce que les octets de remplissage d'un type de gousse sont copiés?

supposons que j'ai un type de gousse comme ceci: struct A { char a; int b; }; Sur mon système, sizeof(A) == 8, ... une expérience avec gcc 7, il semble que ces octets soient effectivement copiés. Je voudrais savoir si cela est garanti.
demandé sur 2017-10-22 17:10:27
7
réponses

À quoi sert le constructeur de copie privée en c++?

Pourquoi définir un constructeur de copie privée? quand est-ce que rendre la copie privée du constructeur et de l'opérat ... our de la copie d'objets et de passer par référence, existe-il des modèles qui impliquent la copie privée constructeur?
demandé sur 2011-07-25 05:36:20
2
réponses

Qu'est-ce qu'un constructeur de conversion en C++? C'est pour quoi?

j'ai entendu dire que C++ a quelque chose appelé "convertion constructors" ou "converting constructors". Quelles sont-el ... erne ce code: class MyClass { public: int a, b; MyClass( int i ) {} } int main() { MyClass M = 1 ; }
demandé sur 2013-02-26 02:09:36
7
réponses

Le constructeur de copie par défaut de C++est-il intrinsèquement dangereux? Les itérateurs sont-ils aussi fondamentalement dangereux?

j'avais l'habitude de penser que le modèle d'objet de C++est très robuste quand les meilleures pratiques sont suivies. Il ... ue de valeur, et donc être copiable. c'Est un problème bien connu, et si oui, a-t-elle un élégant/idiomatiques solution?
demandé sur 2015-06-07 03:23:20
3
réponses

Pourquoi le constructeur de copie implicite appelle-t-il le constructeur de copie de classe de base et le constructeur de copie défini ne le fait pas?

Envisager une hiérarchie de classe où A est la classe de base et B dérive de A. Si le constructeur de copie n'est pas déf ... défini par l'utilisateur n'appelle-t-il pas le constructeur de copie de classe de base comme un comportement par défaut?
demandé sur 2012-02-07 18:42:04
4
réponses

Comment puis-je empêcher qu'un constructeur variadique soit préféré au constructeur de copie?

j'ai un modèle 'Foo', qui possède un T, et j'aimerais qu'il ait un constructeur variadique qui transmet ses arguments ... dique? Si non, y a-t-il des conséquences négatives à la définition de ce constructeur de copie d'argument non-const?
demandé sur 2012-12-18 20:58:56
2
réponses

Pourquoi le move-constructor défini par l'utilisateur désactive le copy-constructor implicite?

pendant que je lis boost / shared_ptr.php, j'ai vu ce code: // generated copy constructor, destructor are fine... #if ... désactive l'implicite copie"? Devons-nous toujours écrire nous-mêmes la copie ctor pour éviter cette situation en C++11?
demandé sur 2012-06-29 05:33:30
3
réponses

Auto-destruction: this->Maclasse::~Maclasse() vs this->~Maclasse()

dans ma quête pour apprendre le C++ je suis tombé sur l'article Writing Copy Constructors and Assignment Operators q ... t-ce un appel légitime? Est-ce que cela détruit en plus la structure de l'objet (libre de tas; pop hors de la pile)?
demandé sur 2014-08-18 17:56:09
1
réponses

Comment les membres du tableau C++ sont-ils traités dans les fonctions de contrôle de copie?

c'est quelque chose que je me demande depuis longtemps. Prenons l'exemple suivant: struct matrix { float da ... urn *this; } }; implique-T-il std::copy ou std::uninitialized_copy ou memcpy ou memmove ou quoi?
demandé sur 2010-11-12 14:50:06
2
réponses

std::thread pour passer les appels de constructeur de copie

Eh bien, j'ai un problème avec le fait de passer des données dans un thread en utilisant std::thread. Je pensais comprendr ... essaie d'utiliser std:: move() comme dans l'exemple. Est-il possible que ma VS2012 ne implémente pas C++11 correctement?
demandé sur 2014-01-10 20:05:19
3
réponses

Opérateur d'assignation d'appel dans le constructeur de copie

y a-t-il des inconvénients à une telle implémentation du copy-constructor? Foo::Foo(const Foo& i_foo) { *this = i ... eur de copie de l'opérateur de tâche et d'utiliser l'astuce bien connue de swap, mais je ne me souviens pas, pourquoi...
demandé sur 2010-04-14 20:05:55
8
réponses

Pourquoi avons-nous besoin de copy constructor et quand devrions-nous utiliser copy constructor en java?

j'ai passé en revue les constructeurs de copie, j'ai passé en revue les liens dans stack over flow et d'autres aussi. Mai ... r créer un autre objet. Mais pourquoi devons-nous appeler copy constructor.Quand faut-il l'appeler ?. Veuillez expliquer
demandé sur 2015-03-31 09:39:50
2
réponses

Est-ce que memcpy d'un type de construction ou d'affectation trivial-copiable?

disons que vous avez un objet de type T et un tampon mémoire convenablement aligné alignas(T) unsigned char[sizeof(T)]. ... inteurs vers les membres instanciés d'une classe. Si memcpy est à la fois, je n'ai aucune idée de ce qu'est la réponse.
demandé sur 2014-10-03 04:53:11
1
réponses

Les constructeurs variadiques sont-ils censés cacher ceux qui sont générés implicitement?

les constructeurs variadiques sont-ils censés Cacher les constructeurs implicitement générés, c'est-à-dire le construc ... uctor\n"; } }; int main() { Foo a; Foo b(a); } encore une fois, les deux lignes sont imprimées.
demandé sur 2010-06-02 01:49:37
3
réponses

constructeur de copie par défaut

le constructeur de copie par défaut(implicite) peut-il être appelé pour une classe qui a déjà défini un constructeur util ... itement le constructeur de copie pour la classe, maintenant le constructeur par défaut (implicite) peut-il être appelé ?
demandé sur 2012-09-25 11:11:44
1
réponses

Constructeur de copie explicite et initialisation uniforme

copie Explicite constructeurs interdire quelque chose comme Foo foo = bar;, et de faire respecter la copie de l'utilisatio ... autres)? Mais si c'est le cas, pourquoi le programme de compilation lorsque le constructeur de copie est non-explicite?
demandé sur 2015-08-02 23:39:04
7
réponses

Dans quelles situations le constructeur de copie C++ est-il appelé?

je connais les situations suivantes en c++ où le constructeur de copie serait invoqué: lorsqu'un objet ... faites; mais je suis plus curieux s'il y a d'autres situations dans lesquelles le constructeur de copie est appelé.
demandé sur 2014-01-18 19:54:19
3
réponses

pourquoi le constructeur de copie est appelé en passant temporaire par une référence de const?

je passe un objet temporaire sans nom à une fonction définie par le paramètre const ref. Le copy ctor de la classe est ... évu, quand je change le main En: A a(1); f(a); ça marche. EDIT: le compilateur est gcc 4.1.2
demandé sur 2011-01-19 12:11:57
3
réponses

Un constructeur de copie est-il requis lors d'un retour par conversion implicite?

le code suivant se compile bien dans Visual C++ 2013, mais pas sous GCC ou Clang. Laquelle est la bonne? Un constructeur ... ^ note: implicitly declared private here Noncopyable(Noncopyable const &); ^
demandé sur 2014-06-16 11:43:32
1
réponses

Pourquoi le constructeur de copie est-il appelé au lieu du constructeur de conversion?

donc essentiellement ce code: class A { }; class B { B (const B& b) {} public: B (){} B (const A ... 'un B temporaire est créé qui est ensuite utilisé pour copie-construction, mais pourquoi? Où est-ce dans la norme?
demandé sur 2012-06-27 12:20:45