Chinaunix首页 | 论坛 | 博客
  • 博客访问: 232412
  • 博文数量: 46
  • 博客积分: 1400
  • 博客等级: 上尉
  • 技术积分: 620
  • 用 户 组: 普通用户
  • 注册时间: 2009-01-12 18:04
文章分类

全部博文(46)

文章存档

2010年(7)

2009年(39)

我的朋友

分类: C/C++

2009-11-25 17:42:55

using namespace [ns]与 using [ns]区别

using namespace [ns] 表示命名空间 [ns] 下所有的域变成可见的。
using namespace std;
则代码中可以用
cout<<"dddd"<
如果是using [ns]的话,则只有ns是本身是可用的。对于ns下的域仍然必须
使用 ns.xxx 
using std;
则代码中必须这样写
std::cout<<"xxx"<
std不可以省略。
这个例子可能不是很恰当,因为std本身就是根级的命名空间,直接using std没有
发挥任何作用。
如下例子,应该更能说明问题:

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;
 
     tcp::resolver resolver(io_service);
    tcp::resolver::query query(argv[1], "daytime");
    
阅读(1507) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~