【发布时间】:2023-01-18 09:46:19
【问题描述】:
我编写了一个使用INT_MIN 的程序。但是,我没有使用 include 指令包含 <climits> 头文件。但是我的程序仍然可以编译,没有任何错误或警告。如何?编译器是否自动包含了这个头文件?
使用g++ 编译程序。
编辑:我只包含了 iostream 库。
【问题讨论】:
-
你有没有包括其他标题?
-
iostream将包含其他标头,这些标头将包含其他标头等。 -
允许任何标准库包含任何其他标准库。但不要依赖于此,始终包括您使用的内容。
-
题外话:但是不要在 C++ 中使用 INT_MIN,使用 std::numeric_limits<int>::min()。 INT_MIN 是一个宏,没有类型。
-
@VictorGubin 听起来像 FUD,你指的实际 C++ 编译器是什么? std::numeric_limits<int> 自 C++98 以来就存在。
标签: c++