是否可以使用“std”命名空间来限定 C 函数?
当我使用从 C 继承的函数时,例如
或
中的函数,我是否应该将它们限定为标准命名空间 的一部分std::log
,或者我应该保留在 C 范围内并将它们用作全局函数吗? size_t
怎么样?
When I use functions inherited from C, like the ones in <cmath>
or <cstdlib>
, should I qualify them as being part of the standard namespace std::log
, or should I remain in the C-scope and use them as global functions? What about size_t
?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
如果您使用例如
不,您不应该。
未指定它们是否在任何特定实现的命名空间
std
中可用:但是,您不应该使用此标头:
如果您使用例如
是的,您应该这样做。
未指定它们是否在任何特定实现的全局命名空间中可用:
If you use e.g.
<math.h>
No, you shouldn't.
It is unspecified whether they are available in the namespace
std
on any particular implementation:However, you should not be using this header:
If you use e.g.
<cmath>
Yes, you should.
It is unspecified whether they are available in the global namespace on any particular implementation: