C++中using的三种用法

1、导入命名空间

C++命名空间namespace的理解

使用C++在写不同的功能模块时,为了防止命名冲突,建议对模块取命名空间,这样在使用时就需要指定是哪个命名空间。

使用 using 导入命名空间,即使一个命名空间中的所有名字都在该作用域中可见,常见的如下:

// 导入整个命名空间到当前作用域
using namespace std;

// 只导入某个变量到当前作用域 
using std::cout; 

在.h头文件中,一般不应该使用using声明。

因为头文件的内容会拷贝到所有引用它的文件中去,如果头文件里有某个using声明,那么每个使用了该头文件的文件就都会有这个声明,从而可能产生名字冲突。

2、指定别名

C++ 11 通过 using 指定别名,作用等同于 typedef,但相比 typedef,逻辑更直观,可读性更好。

typedef int T; // 用 T 代替 int
using T = int; // 用 T 代替 int

3、在派生类中引用基类成员

代码如下:

C++中using的三种用法

如上图代码所示,尽管派生类 Derived 对 基类 Base 是私有继承,但通过 using 声明,派生类的对象就可以访问基类的 proteced 成员变量和 public 成员函数了。

注意:using只是引用,不参与形参的指定。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值