是否有理由使用<cddint> / <cinttypes>中的std :: int64_t而不是<stdint.h> / <inttypes.h>中的int64_t?

时间:2017-01-22 17:19:48

标签: c++

在C ++ 11中,我们提供了固定宽度的整数类型,例如std::int32_tstd::int64_t,它们在cstdint / cinttypes中定义。但是,int32_tint64_t也位于stdint.h / inttypes.h中。使用std::int64_t而不是int64_t的原因是什么?对我而言,前者涉及更多打字,即使是using namespace std

1 个答案:

答案 0 :(得分:7)

在C ++中,&#34; C库&#34;不推荐使用<foo.h>表单的标头,而应使用标头<cfoo>。 (我把&#34; C库&#34;放在引号中,因为它只是C ++标准库这一部分的名称。我们所谈论的所有内容都是C ++标准库的一部分,没有任何内容实际上与C有关。)

是否应该使用未弃用的标题取决于您个人对弃用的态度。

(代码作者必须做的物理输入量是非常关注度差。代码读取维护远远超过它是写的。后者是重要的问题,前者主要是分心。)