大半夜闲看书,翻了几处也是巧,都看到了这个using,简单写写这个using在C plusplus中的使用。

1、引入命名空间

这个司空见惯了,写第一个程序hello world的时候,多半书籍都会给你写这么一句:

using namespace std;

引入命名空间std的意思,这样在这个引入命名空间的范围内,使用函数时就不用再标明其出处,可以理解为告诉编译器,我从哪里来,你就到这个地方找我吧。这样就不会在调用多个同名函数的时候搞错了,A和B空间下的函数是不一样的,using A就去A下找吧,别犯错误迷路了去B下找这就错了。

2、类型别名

在C++11新标准中,采用using来给类型取一个别名,这样就好记了,避免有的名字过于繁琐在用的时候还要写原名。比如:
列宁同志的原名:弗拉基米尔·伊里奇·乌里扬诺夫,你记得住???but 大家想了下,那就叫你列宁吧,这样好记啊,叫起来也方便不是。回到我们的using上来,比如有个类名为THE_FOOTBALL_TEAM_LIST,多长,你用啊,给它取个别名吧

using TFTL = THE_FOOTBALL_TEAM_LIST;

3、在子类中引入基类的成员

最常见的一个例子就是继承构造

class Base
{
public:int _value;Base(){}Base(int a){_value = a; cout <<_value<<endl;}
}
public child : public Base
{using Base::Base
}

再者一种情况:

class Base {
public:
std::size_t size() const { return n; }
protected:
std::size_t n;
};
class Child : private Base { . . . };

在上面一段代码中,基类的成员size()是个public成员,但是在子类中由于继承是private方式,所以子类的size()是private,想让它是public的,就做下面的一个小改动,加上using后,表明从基类中引入,是public的。

class Child: private Base {
public:
using Base::size;
protected:
using Base::n;
};

还有就是假如子类中有和基类同名的函数,这时还想用基类的函数,就可以使用using,不然就会隐藏基类的函数。

#include <iostream>
using namespace std;class Base
{
public:int printTest(){cout<<"Test function"<<endl; return 0;}
};
class Child : Base
{
public:using Base::printfTest;//using声明只能指定一个名字,不能带形参表int printfTest(int);
};int main()
{Base a; Child b;a.printfTest();b.printfTest();//如果去掉子类中的using声明,会报错system("pause");return 0;}

C++中using的用法相关推荐

  1. mysql中change用法,mysql 中alter的用法以及一些步骤

    mysql 中alter的用法以及一些方法 在用到alter的时间,查到了这个文章,就copy下来了,详细进入下面链接: MySQL之alter语句用法总结 1:删除列 ALTER TABLE [表名 ...

  2. mysql中正则表达式的用法_Mysql中正则表达式Regexp常见用法

    Mysql中Regexp常见用法 模糊匹配,包含特定字符串 # 查找content字段中包含"车友俱乐部"的记录 select * from club_content where ...

  3. 【C++】C/C++ 中 static 的用法全局变量与局部变量

    C/C++ 中 static 的用法全局变量与局部变量 目录 1. 什么是static? 1.1 static 的引入 1.2 静态数据的存储 2. 在 C/C++ 中static的作用 2.1 总的 ...

  4. php foreach嵌套foreach,php中foreach怎么嵌套foreach PHP中foreach函数用法?

    foreach的使用方法小编不是很明确,分享达人指教一下.foreach (array_expressforeach($array as $key) { if(xxxx) { break; //bre ...

  5. python中str的index什么意思_python中index的用法是什么

    index() 一般用处是在序列中检索参数并返回第一次出现的索引,没找到就会报错,比如:>>> t=tuple('Allen') >>> t ('A', 'l', ...

  6. php foreach是什么,php中foreach的用法是什么

    php中foreach的用法是:[foreach ($array as $value) {要执行代码;}],每进行一次循环,当前数组元素的值就会被赋值给$value变量,在进行下一次循环时,将得到数组 ...

  7. java中的基本用法

    java中的基本用法 关键字:专门用途的字符串 所有java关键字都是小写英文 标识符 java常量 java变量 ■ 作用域:起作用的区域■ 使用前必须先声明,在赋值.使用变量名访问这块区域 jav ...

  8. Java中getResourceAsStream的用法

    Java中getResourceAsStream的用法 首先,Java中的getResourceAsStream有以下几种: 1. Class.getResourceAsStream(String p ...

  9. javascript 中 console 的用法

    javascript 中 console 的用法 视频 https://www.bilibili.com/video/BV1g7411L751?from=search&seid=1567656 ...

  10. tensorflow中Tensorboard的用法

    tensorflow中Tensorboard的用法 下面代码定义了一个简单的用于实现常量加法和乘法的计算图. import tensorflow as tf input1 = tf.constant( ...

最新文章

  1. Windows Azure 解决方案系列:组合拍卖供应商以云服务快速拓展,并节省成本
  2. 解决:org.xml.sax.SAXParseException: 元素类型 “head“ 必须由匹配的结束标记 “</head>问题
  3. 如何不屏蔽Android系统的返回按键
  4. Oracle查询某一天日期数据的SQL语句的几种写法
  5. html中纯js互斥按钮,JS如何实现checkbox互斥功能
  6. php怎么使用多个数据库,怎么在php项目中使用CI对多个数据库进行操作
  7. java开发框架_Java-程序员感悟-开发人员喜欢的框架之Spring
  8. LeetCode 696. Count Binary Substrings
  9. 广告学计算机平面设计(1)形考5,中等职业学校计算机平面设计专业教学标准 (1)...
  10. DataFrame 排序
  11. java打卡-day3 变量和数据类型
  12. c语言万能源代码,经典C语言源代码
  13. vbs整人代码蓝屏_vbs整人代码
  14. 内卷到底是什么意思?
  15. 陪玩行业怎么找客户?想做线上引流?这篇文章打开你的思路!
  16. 底量超顶量超级大黑马指标源码_清华女教授忠言:只要出现“底量超顶量”走势,后期必有暴走趋势...
  17. 数据结构-2019春 07-图4 哈利·波特的考试 (25 分)
  18. Gitee码云使用与Git安装、基本使用介绍
  19. matlab命令窗口作用是什么,wcodemat这个命令在matlab中是实现什么功能的
  20. length和length()的区别

热门文章

  1. linux rar的压缩与解压
  2. 综合分析——启示类真题
  3. java 静态变量 null_Java静态变量变为null
  4. Android studio设置背景图(二)
  5. 苹果推出新款iPhone SE 拼多多只要2899元 苹果真的卖不动了吗?
  6. 码率含义以及计算大小
  7. Win10环境下Ctrl+C无法复制,Ctrl+V无法粘贴等问题解决方法
  8. 安卓投屏大师_手机投屏还需要设备?你OUT啦,这些方法轻松满足你的需求
  9. 宫心计全集下载-持续期待中
  10. centos7 网卡不见了