我注意到 C++ 中有一个奇怪的差异。
说我有这个代码:
const char myChars[] = "12345";
std::cout << myChars;
输出为:12345
但是,如果我将其更改为:
const char myChars[] = {'1','2','3','4','5'};
std::cout << myChars;
那么输出是:12345__SOME_RANDOM_DATA_IN_MEMORY__
为什么 cout 似乎知道第一个版本的长度而不知道第二个版本的长度?另外, cout 甚至知道长度吗?
谢谢。