对using namespace std的一些理解

      最近刚学习C++,看了C++ primer和C++ primer plus,看的是一头雾水,最后打算重新理解,不过与C++也混了个脸熟

看了刚开始的c++,有一点感悟,打算写下来。

      最初看到std::cout和std::cin是一脸懵逼,也不知道是什么,更别说是using namespace std;即使我看到后面也没理解,因为刚开始C++ primer plus说的是这是防止两个同时用了相同的函数,那么程序就不知道该用哪个,比如说C++ primer plus上说的两个公司同时用的wander()函数。虽然书上先介绍了这个,但我还是一头雾水,或许是我比较笨吧。。。。。

C++ primer plus 914,915页使用名称空间才让我理解它。(其实是初步理解。。。。。)

C++ primer 701~704页是更透彻的理解。(毕竟是进阶书,都是值得看的书)。

 其实在标准库中(即iostream)就有他的定义。

下面是在iostream中的定义:

 namespace std

{

  std::cin;

  std::cout;

  std::endl;

  std::cerr;

   std::clog;

}

现在还可能对using有一点陌生,因为我刚开始看书的时候using被介绍为using声明语句,但在这里他用的是using其他的功能,

using指示,就像书上说的using声明和using指示有着很大的差别。using声明只是简单令名字在局部变量中有用,而using指示可以使整个命名空间中的内容都有效。

namespace blip{

int i=16,j=15,k=23;

}

int j=0;

void manip()

{

using namespace blip;//这里可以理解为可以在这个函数中使用blip中的成员

++i;                                  //blip中的i加一

++j;

++::j;                      //这里用了作用域运算符,表示用的是全局变量中的j

++blip::j;              //这里指定了blip中的对象,所以j变为17

int k=97;                   //局部变量与blip中的对象重名后,用的就是局部变量,局部变量能隐藏命名空间中的成员

++k;

}

注:当主函数中如果只用命名空间的几个成员,最好别引用所有的成员

第一次写博客,也是看了刘大佬( 刘未鹏)的文章才开始写博客

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值