似乎如果你尝试:
std::cout << NULL << endl;
std::cout << "hell" << endl;
它什么也不打印,C++ IO 停止对所有后续输出工作。
但它在 C stdio 中工作正常:
printf("%s\n", NULL);
printf("%s\n", "hell");
(空值)
地狱
C++ IO不能做同样的事情有什么好的理由吗?
(根据评论进行编辑)好吧,说清楚,NULL 确实有一个类型,比如 const char*
const char* getxxx(); // may return NULL,
cout << getxxx(); // won't work if NULL returned