Quelle est la différence entre les chaînes C et les chaînes C ++?
quoi la différence entre les Chaînes C et C++ cordes. Spécialement tout en faisant de l'allocation de mémoire dynamique
source d'informationauteur Teja
Vous devez vous connecter pour publier un commentaire.
Je ne sais par où commencer 🙂
En C, les chaînes sont juste
char
tableaux qui, par convention, à la fin avec un octet NUL. En termes de gestion dynamique de la mémoire, vous pouvez simplementmalloc
l'espace (y compris l'octet supplémentaire). Gestion de la mémoire lors de la modification des chaînes est votre responsabilité:En C++, les cordes (
std::string
) sont des objets avec tous les associés automatisé de gestion de la mémoire et de contrôle, ce qui les rend beaucoup plus sûr et plus facile à utiliser, surtout pour les débutants. Pour l'allocation dynamique, utilisez quelque chose comme:Je sais qui j'avais préfèrent utiliser, le dernier. Vous pouvez (si vous en avez besoin) toujours construire une chaîne C de un
std::string
à l'aide de lac_str()
méthode.C++ chaînes sont beaucoup plus sûre,plus facile,et ils prennent en charge différentes fonctions de manipulation de chaîne comme ajouter,rechercher,copier,concaténation etc.
une différence intéressante entre la chaîne c et c++ string est illustrée par l'exemple suivant
sortie »¿boRy¤£f·Pi»¿
sortie garçon
J'espère que vous avez le point!!