I alloués dynamiquement un tableau (unsigned int n
aurait été passé en paramètre dans une fonction):`supprimer []` `quand de nouveaux [0]`
int * ar = new int [n];
Quand je suis fait à l'utiliser:
delete [] ar;
Mais, que se passe-t-il lorsque n = 0
? Alloue 0
int
s est-il identique à ne pas allouer du tout? Dans quel cas, mauvaises choses se produisent quand j'appelle delete
?
https://stackoverflow.com/questions/1087042/c-new-int0-will-it-allocate-memory Et vous allouez quelque chose (des données pour gérer au moins votre allocation) - ce n'est pas la même chose que de ne rien faire . – deviantfan
@deviantfan - Mon mauvais! Je n'ai trouvé aucun doublon parce que je formulais comme "pouvez-vous' supprimer "0'", alors que votre lien l'a exprimé comme "pouvez-vous' new' '0'" (à la fin, c'est un peu la même chose) . Devrais-je supprimer ce Q? –
Utilisez std :: vector! –