gpt4 book ai didi

c++ - 我应该为 size_t 包含 stddef.h 还是 cstddef

转载 作者:IT老高 更新时间:2023-10-28 12:58:53 30 4
gpt4 key购买 nike

当我想使用 size_t 时在 C++ 中,我应该包含 <stddef.h><cstddef> ?我听几个人说<cstddef>是个坏主意,应该弃用。这是为什么呢?

最佳答案

stddef.h是 C 头文件。姓名size_t在它的全局命名空间中。 <cstddef>另一方面,它是一个 C++ 头文件,它将 C 名称包装到 std 命名空间中,这自然是 C++ 方法,所以如果包含 <cstddef>并且编译器是兼容的,你必须使用 std::size_t .显然,在 C++ 中,C++ 方法更合适。

从技术上讲,C header 也可能包含 std 命名空间中的名称。但是 C header (以 .h 结尾的)也将名称引入全局命名空间(从而污染了它)。

关于c++ - 我应该为 size_t 包含 stddef.h 还是 cstddef,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5079325/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com