Heim >Backend-Entwicklung >C++ >Ist std::string in C 11 immer mit Null terminiert?
Ist std::string in C 11 mit Null terminiert?
Im Jahr 2008 schlug Herb Sutter vor, die String-Implementierung in C 0x zu verschärfen Nullterminierung. Der C 11-Standard beinhaltet jedoch einen anderen Ansatz:
Ja, std::string ist in C 11 immer nullterminiert.
Der Standard gibt an, dass der Zeiger Die von std::basic_string::c_str() zurückgegebene Adresse entspricht der Adresse des Anfangszeichens in der Zeichenfolge (&s[0]). Daher ist die Verwendung von &str[0] in C 11 sicher.
Konsequenzen:
Das obige ist der detaillierte Inhalt vonIst std::string in C 11 immer mit Null terminiert?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!