【发布时间】:2016-07-16 10:15:05
【问题描述】:
根据这个问题Unable to print the value of nullptr on screen
我无法打印 nullptr 的值,因为它是 nullptr_t 类型,而 std::cout 没有这样的重载。
但是,如果你看这个:
int* f()
{
return nullptr;
}
int main()
{
std::cout << f();
}
输出是:
00000000
在Why does std::cout output disappear completely after NULL is sent to it这个问题中,他们谈论了一个不同的问题。
我只是想了解为什么 std::cout 不能打印nullptr,但是当nullptr 被函数返回 时它实际上可以。
【问题讨论】:
-
因为这个
int* f() -
std::cout肯定有int*的重载,您的函数会返回,这就解释了为什么您成功获得打印输出。