Bonjour,
Ma question va paraitre bête à certains, mais ça me travaille dur...
1) Scott Meyers explique dans ses bouquins qu'il ne faut jamais accéder à une donnée non initialisée car cela conduit à un undefined behavior. On sait tous ce que ça veut dire : la plupart du temps, on lit des données semi-aléatoires mais on pourrait un jour se retrouver avec un dragon qui sort de notre PC et nous dévore. 2) Quand on ne définit pas de constructeur, le compilateur en génère un. D'après ce que j'ai lu, il initialise tous les champs qui ont un constructeur par défaut, mais quid des types de base ? Il n'y a pas de constructeurs et j'ai cru comprendre qu'ils n'étaient donc pas initialisés. 3) En connectant ces 2 informations, dois-je en conclure que je risque un UB en lisant des champs d'un objet créé avec un tel constructeur par défaut ? Ça me paraitrait insensé mais je ne vois pas l'erreur dans mon raisonnement.
Merci pour vos lumières

 

 
		
		 
        

 
			
			


 
  
  
 
 
 
 
			 
   
 


 Constructeur par défaut et undefined behavior
 Constructeur par défaut et undefined behavior
				 Répondre avec citation
  Répondre avec citation
Partager