• 如果您想对本站表示支持,请随手点击一下广告即可~
  • 本站致力于提供原创、优秀的技术文章~
  • 有任何疑问或建议 均可以在站点右侧栏处 通过各种方式联系站长哦~
  • 关于C++标准库的名字空间

    C/C++ EXP 69阅读 0评论

    因为C++标准库非常庞大,所以程序员在选择类名或函数名时就很有可能和标准库的某个名字相同。

    为了避免这种情况所造成的名字冲突,C++就把标准库中的一切都放到名字空间std中。但这又会带来一个新的问题,无数原有的C代码都依赖于使用了多年的伪标准库中的功能,而他们又都是全局空间下的。

    于是就有了<iostream.h>和等等这样的头文件。前者是为了兼容以前的C代码,后者是为了支持新的C++标准。

    名字空间本质上就是一个作用域,也是为了方便不同的程序在不同的平台上正确地运行(加强程序的可移植性)而引入的。

    一般而言,下面三个程序是等价的:

    但是在新的C++标准下,更推荐使用后两者

    而且若较多地使用标准库写大程序时,最后一种形式比较方便,毕竟using namespace std;在同一个程序中仅需要写一次就足矣说明所引用的标准库函数都来自名字空间std。

    但如果不常用标准库(这不推荐,会降低移植性)或者小程序时,第二种形式也比较好。

    第一种形式常用于不同运行平台间的程序移植,虽然语法没有错误,但不推荐用于写新程序。

    转载请注明:EXP 技术分享博客 » 关于C++标准库的名字空间

    喜欢 (0) 分享 (0)
    发表我的评论
    取消评论

    表情

    Hi,您需要填写昵称和邮箱!

    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址