Quelle est la différence entre delete
y delete[]
en C++ ?
Réponse
Trop de publicités?
nishant arora
Points
29
delete
est utilisé pour un seul pointeur et delete[]
est utilisé pour effacer un tableau par le biais d'un pointeur. Ce site pourrait vous aider à mieux comprendre.
- Réponses précédentes
- Plus de réponses
0 votes
Vous pourriez trouver cette question pertinente stackoverflow.com/questions/1913343/
7 votes
Les problèmes avec delete et delete[] sont une des raisons pour lesquelles j'aime les pointeurs intelligents, et l'utilisation de
vector<>
au lieu d'un tableau chaque fois que je le peux.1 votes
stackoverflow.com/questions/1553382/
2 votes
@DavidThornley Si vous utilisez des pointeurs intelligents, vous devez tout de même connaître la différence dans le sens où vous devez savoir qu'il ne faut pas écrire par ex.
std::unique_ptr<int>(new int[3])
parce qu'il appellera régulièrementdelete
sur le tableau, ce qui est un comportement non défini. A la place, vous devez utiliserstd::unique_ptr<int[]>