次のようなcstdlibを使用せずに、文字列リテラルの長さ(nullターミネータを指定または取得)を取得するにはどうすればよいですか。
char* foo = "foobar";
cout << sizeof(foo) << endl; //Always outputs 4
cout << sizeof(*foo) << endl; //Always outputs 1
連結に文字列リテラルが含まれる場合と含まれない場合がある文字列に対して、+演算子をオーバーロードする必要があります。渡されるchar*(またはchar [])の長さを知らずに、文字列にメモリを割り当てる方法はありません。