qu'est-int() faire en C++?
Le code suivant peut passer à la compilation et imprimer 0 sur la console. J'ai vu un code similaire dans la STL. Ma question est, est de type int en C++ dispose d'un constructeur? Est de type int() l'appel de certains régimes de la fonction?
int main()
{
int a = int();
cout<<a<<endl;
return 0;
}
OriginalL'auteur coinsyx | 2013-06-16
Vous devez vous connecter pour publier un commentaire.
Dans ce contexte,
de la valeur-initialise
a
, de sorte qu'il tient la valeur0
. Cette syntaxe ne nécessitent pas la présence d'un constructeur de types intégrés tels queint
.De noter que ce formulaire est nécessaire car celui-ci est analysée comme une déclaration de fonction, plutôt que d'une phase d'initialisation:
En C++11, vous pouvez obtenir la valeur d'initialisation avec un plus intuitive syntaxe:
Modifier dans ce cas particulier, il y a peu bénéficié de l'aide de 1) ou 3) sur
mais estiment
puis
int a{}
.J'ai été dans le processus de l'ajout 🙂
J'espère sincèrement que
int a = 0;
n'est pas tombée de la mode encore.Il nous faut rappeler que la raison d'ajouter cette façon d'initialisation de type intégré a été pour générique code du travail 🙂
En fait, il copie-initialise
a
à partir d'une valeur initialisée temporaireint
.OriginalL'auteur juanchopanza
int()
est le construstor de classeint
, il initalise ur variablea
à la valeur par défaut d'un nombre entier , c'est à dire0
.Même si vous n'appelez pas le constructeur de manière explicite, le defualt constructeur, c'est à dire
int()
, est implicitement appelée pour initialiser la variable.sinon, il y aura des ordures de la valeur dans la variable.
int
n'est pas une classe, et n'a pas de constructeur.OriginalL'auteur Rabbiya Shahid
int()
est entier constructeur donc, en d'autres termes, il initialise la variable avec la valeur par défaut de 0int
ne possède pas de constructeur.OriginalL'auteur Peuczynski