c++ - 错字为 "cout < myint"。为什么它有效?

标签 c++ iostream

我有这个代码,我搜索了几个小时为什么它无法打印我的收入

int const income = 0;
std::cout << "I'm sorry, your income is: " < income;

直到我发现我错过了写<<但写了< .为什么编译器没有检测到这一点并出错?我不知道为什么要比较 cout有道理吗?

最佳答案

整数常量 0 也是一个空指针常量 - 它可以与 ostreamoperator void * 的结果进行比较。请注意,如果常量的值不是 0,它将失败。

关于c++ - 错字为 "cout < myint"。为什么它有效?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5665221/

相关文章:

c++ - 模板类成员函数只特化

c++ - 为自定义流类设置 std::io_base 标志

c++ - Cin.clear() 问题

c++ - 如何保证不包含 iostream?

c++ - 如何自动将流模式设置回默认值

perl - 需要帮助,使用perl解析来自PHP套接字服务器的流数据

c# - 编码变量参数 - __arglist 或替代

c# - 在程序内存中执行 BATCH 脚本

c++ - 更改 multimap 内的值

c++ - 使用枚举处理错误