【发布时间】:2020-06-12 06:25:47
【问题描述】:
我想知道“cout”nullptr 不起作用。 它只工作一次。 但是“printf”在主要功能上起作用。
#include <iostream>
int main() {
const char *np=nullptr;
std::cout << "np: "<<np<<std::endl;
std::cout << "np: "<<np<<std::endl;
std::cout << "np: "<<np<<std::endl;
printf("printf np:%s\n",np);
std::cout << "np: "<<np<<std::endl;
std::cout << "np: "<<np<<std::endl;
}
它的工作原理如下。
np: printf np:(null)
【问题讨论】:
-
@TonyTannous 可能不会。 Op 不尝试打印
nullptr关键字,而是打印 is 为空的const char*。 -
这不是打印空指针,而是打印指针指向的内容。如果指针无效,我们有 UB。
标签: c++