Est-il implicite constructeur par défaut en C++?

Dans le livre que je suis en train de lire en ce moment ( C++ Sans Crainte ), il est dit que si vous ne déclarez pas de constructeur par défaut d'une classe, le compilateur fournit un pour vous, qui "remet à zéro à chaque membre de données". J'ai expérimenté avec cela, et je ne vois aucune réinitialisation de la conduite. Je ne peux pas trouver quelque chose qui le mentionne sur Google. Est-ce juste une erreur ou d'un caprice d'un compilateur spécifique?

  • Des sons comme vous avez besoin d'un meilleur livre. 😉
  • Yup. Unforgiveable erreur, si les "zéros de chaque mamber" est en effet une citation littérale.
  • Je pense que c'est une commune c une idée fausse. Je pensais la même chose jusqu'à ce que j'ai visité cette page. Je suis sûr que je l'ai lu quelque part ou j'ai appris dans une classe.
  • Je soupçonne que cette confusion se pose quand les gens apprennent que des objets globaux sont garantis d'être mis à zéro, mais il est vraiment préférable de ne pas compter sur qui que ce soit.
  • Je devrais faire un point mineur, que les données sont toujours à zéro dans un programme. Le système d'exploitation n'est présent sur la page de l'allocation. La question est de tous les extras, 'junk' C++ fait, avant même l'exécution de votre programme.
InformationsquelleAutor Skilldrick | 2009-02-18