Questions sur explicit-constructor

11
réponses

Que signifie le mot clé explicit veux dire?

que signifie le mot-clé explicit en C++?
demandé sur 2008-09-23 17:58:45
9
réponses

Conversion obsolète C++ de la constante de chaîne en ' char*'

j'ai une classe avec un private char str[256]; et pour cela j'ai un constructeur explicite: explicit ... conversion dépréciée de la constante de chaîne en 'char* ' pourquoi cela se produit-il?
demandé sur 2009-10-06 12:45:50
4
réponses

Qu'est-ce qui pourrait mal tourner si la copie-liste-initialisation permettait des constructeurs explicites?

dans la norme C++, §13.3.1.7 [over.correspondre.liste], il est indiqué ce qui suit: dans copy-list-init ... ime déjà le désir de faire une sorte de "conversion". Qu'est-ce qui pourrait mal tourner? Ce qui me manque?
demandé sur 2012-02-06 11:49:18
4
réponses

Pourquoi est-ce que explicite est autorisé pour les constructeurs par défaut et les constructeurs avec 2 ou plus de paramètres (non par défaut)?

je comprends que les constructeurs avec un paramètre (non par défaut) agissent comme des convertisseurs implicites, qui p ... icitement autorisés? Y a-t-il un exemple où ceci est utile pour empêcher la conversion implicite d'une sorte quelconque?
demandé sur 2010-12-17 05:17:43
1
réponses

But des constructeurs par défaut explicites

j'ai récemment remarqué une classe dans C++0x qui appelle un constructeur par défaut explicite. Cependant, je ne parvien ... dont C++ gère les arguments par défaut. Quoi d'autre est là qui rendrait explicit Class(); se comporter différemment de l'
demandé sur 2010-05-14 23:16:10
5
réponses

Constructeur de mouvements explicite?

explicit mot clé est recommandé pour les plus les constructeurs qui peut être appelé avec un argument, sauf pour les cons ... appel de fonction, retour, etc), mais ce n'est pas ce qu'on veut habituellement. Qu'en est-il constructeurs de déplacement
demandé sur 2011-07-20 11:55:06
3
réponses

Y a-t-il un inconvénient à marquer explicitement tous les constructeurs C++?

quelques fois, lors d'un refactoring de code, j'ai oublié d'ajouter les explicit mot-clé lors de l'ajout d'un paramètre à ... squels je veux une conversion implicite.) y a-t-il des inconvénients à cela? La Performance? Moment de la compilation?
demandé sur 2011-04-18 17:14:43
3
réponses

C++11: l'initialisation en classe avec "= {}" ne fonctionne pas avec le constructeur explicite

En C++11 on peut faire en classe d'initialisation à l'aide d'un "corset ou égal initialiseur" (les mots de la norme) comme ... "corset ou égal initialiseur" il n'est pas évident pourquoi la bonne vieille méthode ne fonctionne pas dans ce scénario.
demandé sur 2014-10-01 12:37:10
5
réponses

Prévenir la conversion indésirable dans le constructeur

Selon ici,explicit: spécifie les constructeurs et les opérateurs de conversion (depuis c++11) qui ne permettez pas ... ing smaller }; struct Z { // ... explicit Z(long long); // can initialize ONLY with a long long };
demandé sur 2016-04-19 17:53:40
1
réponses

Les constructeurs explicites par défaut en C++17

dans C++17, Les tag types vides de la bibliothèque standard ont maintenant des constructeurs par défaut qui sont marqués ... présence du constructeur défaillant, donc je suis curieux de savoir la raison de ce changement dans la dernière norme.)
demandé sur 2017-05-25 02:48:26
3
réponses

Quelle est la différence entre les assignations explicites et implicites en C++?

int value = 5; // this type of assignment is called an explicit assignment int value(5); // this type of assignment is cal ... omme ils sont (bien sûr garder la montre pour les gotchas tels que les constructeurs comme (int, SomeType = SomeType())?
demandé sur 2010-06-17 03:18:09