c++ - std::cout 函数作为参数

标签 c++ cout

我最近注意到你可以做类似的事情

void foo(){ }
//...
std::cout<<foo<<std::endl;

无论传递的函数如何,这都会打印出“1”。

现在我很好奇:这到底是做什么的?

最佳答案

foo 衰减为函数指针,然后将其转换为值为 true 的 bool 值(因为函数指针不为空),打印为“1",因为 bool 值默认打印为数字。

试试这个:

std::cout << std::boolalpha << foo << std::endl;

关于c++ - std::cout 函数作为参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17572448/

相关文章:

c++ - SDL2,创建比屏幕大的窗口

C++ 将区域设置全局重置为 "C"?

c++ - USphereComponent 和 Overlap 事件

c++ - 如何获取另一个进程的基址? (ASLR)

c++ - C++中的无限循环

c++ - 二维数组末尾的括号

C++ 显示一个字符串

c++ - cout如何区分基本类型?

c++ - 为什么不能将 cout 与用户定义的转换一起使用到 std::string?

c++ - 一个函数模板的多个定义