Maison >développement back-end >C++ >Est-ce que std::string est toujours terminé par une valeur nulle en C 11 ?
Std::string est-il terminé par une valeur nulle en C 11 ?
En 2008, Herb Sutter a proposé de resserrer l'implémentation de la chaîne en C 0x pour exiger terminaison nulle. Cependant, la norme C 11 inclut une approche différente :
Oui, std::string est toujours terminé par un caractère nul en C 11.
La norme précise que le pointeur renvoyé par std::basic_string::c_str() sera égal à l'adresse du caractère initial de la chaîne (&s[0]). Par conséquent, il est sûr d'utiliser &str[0] en C 11.
Conséquences :
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!