使用有什么区别#include<filename> and #include<filename.h
> in C++ http://en.wikipedia.org/wiki/C%2B%2B?使用两者中的哪一个以及为什么使用它?
C++ 仅包含 C 标准中未找到的文件从未使用过filename.h
。自从第一个 C++ 标准问世(1998 年)以来,他们一直使用filename
为他们自己的标题。
C 标准继承的文件变成cfilename
代替filename.h
。继承的C文件使用如下filename.h
已弃用,但仍然是 C++ 标准的一部分。
不同之处在于,在 C 中未定义为宏的名称可在命名空间中找到std::
in cfilename
在 C++ 中,而名称在filename.h
都在全局命名空间范围内。所以你会发现::size_t
在 stddef.h 中,以及std::size_t
在 cstddef 中。两者都是标准 C++,但不推荐使用 ::size_t(请参阅 C++ 标准的附录 D)。
现在这些就是区别。
为什么要使用“filename.h”?
- 与 C 编译器的兼容性
- 与非常旧的 C++ 编译器的兼容性
为什么应该使用“cfilename”?
- 名称位于命名空间内
std::
。不再有名字冲突了。
- 新的 C++ 功能(例如 float、long 的重载数学函数)
- C 兼容性标头 (
filename.h
)将来可能会消失。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)