#include <iostream>
int main() {
char* chars = new char[4];
for(int i = 0; i < 4; ++i)
{
chars[i] = 'a';
}
std::cout << chars;
return 0;
}
那段代码可以正常工作。标准输出 说
aaaa
然而,改变
chars[i] = 'a';
至
*chars++ = 'a';
或者
*(chars++) = 'a';
使标准输出为空,标准错误中没有任何内容。这是怎么回事?我认为 [] 只是 *pointer 的语法糖。