<climits>和<limits>头文件在C++中有什么区别?

5

在C++中,limits是一个包含numeric_limits类的头文件,而climits是一个只包含各种数据类型最小值和最大值的头文件。

无论何时想要使用climits,都可以使用limits,但反过来则不行。

因此,在何时建议使用climitslimits呢?


你所说的“limits”和“climits”具体指什么?你是在指标准头文件<climits><limits.h> 吗? - Angew is no longer proud of SO
可能是 Equivalence of <limits> and <climits> 的重复问题。 - didiz
@Angew 不好意思,我指的是C++中的头文件limits和climits。 - Mukul Baheti
@didiz 那个问题涉及到一个具体的情况。我正在寻找一个答案,它考虑了所有情况并且能够区分何时应该使用何时。 - Mukul Baheti
1个回答

7

climits/limits.h 是 C 语言的一部分。如果你在写 C 语言代码,那么你需要使用它们。C++ 继承了 C 的标准库,因此也有这些头文件。

limits 通过一个现代化的 C++ 接口实现了相同的功能。如果你在写 C++ 代码,那么一定要使用它。没有理由使用 C 头文件。


那么您是否建议在使用现代化的C++编写代码时不使用<c types>头文件中的任何内容? - Mukul Baheti
2
这个答案的措辞有点含糊。<limits.h><climits> 包装器只在 C++ 中可用,而不是 C 中。此外,值得注意的是,在 C++ 中,这些头文件不保证包含任何在 C 标准中指定的声明,除非在 C++ 标准中显式指定。 - eerorika

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接