stringクラスはヌルターミネーターを必要としない
ロベールのC++入門講座 08-01
stringクラスはその文字列の長さを自前で管理しているため、ヌルターミネーターを使わなくても問題ない。
それどころからヌルターミネーターを一つの文字列として認識することさえ可能である。
#include <iostream> #include <string> using namespace std; int main () { string str = "FooBarBaz"; str[2] = '\0'; cout << str.size() << endl; cout << str << endl; return 0; }
$ main 9 Fo BarBaz
これは便利ですね。