• 欢迎浏览“String me = Creater\忠实的资深Linux玩家;”,请文明浏览,理性发言,有侵犯你的权益请邮件我(creater@vip.qq.com).
  • 把任何的失败都当作一次尝试,不要自卑;把所有的成功都想成是一种幸运,不要自傲。
  •    5年前 (2014-04-15)  C++ 评论关闭  13 
    文章评分 0 次,平均分 0.0
    以boost为例子,使用代码来展示区别
    在使用using ***时
    using boost::asio::ip::tcp;
    则使用tcp下的命名空间,就编程时可以简化使用
    tcp::resolver resolver(io_service);
    tcp::resolver::query query(argv[1], "daytime");

     

      如果使用using namespace ***的话
    using namespace  boost::asio::ip;
       在编程中使用时,可以直接使用ip下的其他类或者全局对象
     tcp::resolver resolver(io_service);
     tcp::resolver::query query(argv[1], "daytime");

    综上得出:using ***仅仅为了简化限定域,比如using boost::asio::ip::tcp,并没有将tcp中的所有类型或者全局对象导入。

    using namespace ***则做更多的工作,using namespace std,则会把std中的所有类型和全局对象都导入。

    另外在头文件中尽量少用using namespace ***,可以在头文件中使用完全限定域,在实现文件中再使用。

     

    除特别注明外,本站所有文章均为String me = "Creater\忠实的资深Linux玩家";原创,转载请注明出处来自http://unix8.net/home.php/3288.html

    关于
    切换注册

    登录

    忘记密码 ?

    切换登录

    注册

    扫一扫二维码分享