using--基础

news2025/1/21 12:09:46

using 关键字的作用

using声明---using declaration

就是声明一个已经存在的命名空间,命名空间成员,枚举,类成员对象等。

声明实现的原理

在 C++ 中,变量的声明并不等于变量的实现,变量声明只是告诉编译器该变量的名称、类型和作用域等信息。在程序编译的过程中,编译器只是为所声明的变量分配一些符号表中的空间,这个空间仅仅用于连接、重定位等编译过程中需要的信息。

在链接时,链接程序会根据符号表中保存的变量信息去查找具体的变量实现,如果找到了,将会把变量实现和符号表中的变量绑定在一起,最终生成可执行文件。如果链接程序没有找到变量的具体实现,将会出现链接错误。

本质上就是告诉编译器有这么一个东西存在。

using的几个作用

1,声明命名空间

声明一个命名空间之后就可以使用这个命名空间的所有成员。

2,声明命名空间中的成员

3,声明枚举

enum class test{
...
};
using enum test;

4,在派生类中声明基类成员

class A{
    public:
    struct m_a{};
};

class B:public A{
    public:
    using A::m_a;
};

5,别名

using的注意事项

1,using声明的类成员必须是一个类型,不能是一个变量对象;

#include <iostream>

class H{
    public:
    int h_a;
};

2,using在任意处声明类的成员类型时,必须指定别名。

原因:

如果如同以下:

class A{
    public:
    struct m_a{};
    enum class m_e{};
};
using A::m_a;
using A::m_e;
m_a a1;
m_e e1;

m_a和m_e的作用域是限定在类A中的,如果如同以上的写法,那么m_a和m_e就脱离类A独自成立了,这是不对的。

所以必须使用别名来表示声明m_a和m_e属于类A.

链接

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1454956.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

离谱!用ChatGPT进行审稿!

离谱&#xff01;用ChatGPT进行审稿&#xff01; 关注微信公众号: DeepGoAI 在这个信息爆炸的时代&#xff0c;AI已经跑到了学术会议的后台&#xff0c;偷偷摸摸地开始“帮忙”审稿了&#xff01;&#x1f916; 最近&#xff0c;一位教授的LinkedIn动态可谓是火了一把&#xf…

Android 基础技术——HashMap

笔者希望做一个系列&#xff0c;整理 Android 基础技术&#xff0c;本章是关于HashMap HaspMap的默认初始长度是16&#xff0c;并且每次扩展长度或者手动初始化时&#xff0c;长度必须是2的次幂。 为什么长度是2的x次幂和每次扩容都是2倍?? 1&#xff09;当一个key被放进到数…

大数据,对于生活的改变

谷歌通过对于疾病的查询量可以预测一个个h1n1病毒的大爆发&#xff0c; 大数据时代对于人的考验 用户的搜索记录就是一种信息&#xff0c;这种信息会满足其基础相关的词条与其有关的词条&#xff08;最为原始的搜索机制&#xff0c;国内的搜索引擎都是采用这种基础原理。&…

【论文阅读笔记】Contrastive Learning with Stronger Augmentations

Contrastive Learning with Stronger Augmentations 摘要 基于提供的摘要&#xff0c;该论文的核心焦点是在对比学习领域提出的一个新框架——利用强数据增强的对比学习&#xff08;Contrastive Learning with Stronger Augmentations&#xff0c;简称CLSA&#xff09;。以下…

【Linux】简单的网络计算器的实现(自定义协议,序列化,反序列化)

文章目录 前言一、 服务端1.ServerCal.cc&#xff08;服务器主文件&#xff09;2.ServerCal.hpp3.Sock.hpp(套接字封装)4.TcpServer.hpp(服务器)5.Protocol&#xff08;自定义协议&#xff09; 二、用户端1.ClientCal 三、Log.hpp&#xff08;日志&#xff09;四、makefile 前言…

宜昌博物馆龙文物展,以数据为盾完成文物保护

​一、湖北宜昌博物馆龙文物精品展的独特魅力 近日&#xff0c;在湖北宜昌博物馆举行的甲辰年龙文物精品展上&#xff0c;多件包含“龙元素”的文物正式向社会展出。龙自古以来就是中华民族象征&#xff0c;带有“龙图案”或“龙元素”的物件&#xff0c;广泛存在于中国人“吃…

JVM-JVM调优基础(理论)

申明&#xff1a;文章内容是本人学习极客时间课程所写&#xff0c;作为笔记进行记录&#xff0c;文字和图片基本来源于课程资料&#xff0c;在某些地方会插入一点自己的理解&#xff0c;未用于商业用途&#xff0c;侵删。 原资料地址&#xff1a;课程资料 JVM参数 标准参数 …

人工智能学习与实训笔记(十五):Scikit-learn库的基础与使用

人工智能专栏文章汇总&#xff1a;人工智能学习专栏文章汇总-CSDN博客 本篇目录 一、介绍 1. 1 Scikit-learn的发展历程及定义 1.2 理解算法包、算法库及算法框架之间的区别和联系 二、Scikit-learn官网结构 三、安装与设置 3.1 Python环境的安装与配置 3.2 Scikit-lea…

如何实现批量获取电商数据自动化商品采集?如何利用电商数据API实现业务增长?

随着电子商务的快速发展&#xff0c;数据已经成为了电商行业最重要的资产之一。在这个数据驱动的时代&#xff0c;电商数据API&#xff08;应用程序接口&#xff09;的作用日益凸显。通过电商数据API&#xff0c;商家能够获取到大量关于消费者行为、产品表现、市场趋势等有价值…

模拟电子技术——基本微积分运算电路、滤波器、一阶低通滤波器、一阶高通滤波器、电压比较器、滞回比较器

文章目录 一、基本微积分运算电路什么是微积分电路电路及特点及参数计算-积分电路电路及特点及参数计算-微分电路 二、滤波器什么是滤波器滤波器分类有源无源的电路结构区别通带与阻带参数 三、一阶低通滤波器什么是一阶低通滤波器低通滤波器特性电路及相关特性 四、一阶高通滤…

【笔记------STM32】MX_RTC_Init()初始化RTC时RTC_ISR_INITF位超时失败的解决方法

RTC和flash有点像&#xff0c;有些功能需要解锁才能配置&#xff0c;虽然cubeMX生成的RTC部分的解锁配置正确&#xff0c;但却没有配置好前提条件&#xff1a;关闭PWR模块的备份域写保护使能&#xff0c;有点奇怪&#xff0c;手动关掉就好了 现象&#xff1a;进入RTC_EnterInit…

打开ps显示找不到dll怎么办?这四种方法可快速修复

在计算机操作系统中&#xff0c;当执行某程序或运行特定软件时&#xff0c;如果系统提示“ps显示找不到dll文件”&#xff0c;这其实是一个较为常见的问题现象。动态链接库&#xff08;DLL&#xff09;文件是Windows操作系统中不可或缺的重要组件&#xff0c;它包含了大量可被多…

Spring Boot 笔记 024 登录页面

1.1 登录接口 //导入request.js请求工具 import request from /utils/request.js//提供调用注册接口的函数 export const userRegisterService (registerData)>{//借助于UrlSearchParams完成传递const params new URLSearchParams()for(let key in registerData){params.a…

【Git】 大厂代码提交原则(适用新手,细节拉满)

目录 git是什么&#xff0c;为什么要学git 开发目录 提交到github/gitee的命令 提交代码时的注意事项 git 的其他命令 git是什么&#xff0c;为什么要学git git 是一个免费的、开源的分布式版本控制系统&#xff0c;git可以追踪文件的修改历史&#xff0c;并且在不同的人员…

Sora 文生视频提示词实例集 2

Prompt: Historical footage of California during the gold rush. 加利福尼亚淘金热期间的历史影像。 Prompt: A close up view of a glass sphere that has a zen garden within it. There is a small dwarf in the sphere who is raking the zen garden and creating patter…

Vue+Vite项目初建(axios+Unocss+iconify)

一. 创建项目 npx --package vue/cli vue 项目成功启动后&#xff0c;进入http://localhost:3200&#xff0c;即可进入创建好的页面(假设启动端口为3200) 二. 测试网络通讯模块 假设有本地服务器地址localhost:8000提供接口服务&#xff0c;接口为localhost:8000/token&#…

CCF-A类VLDB’24 3月1日截稿!数据界的璀璨盛会等你投稿!

会议之眼 快讯 第50届VLDB( International Conference on Very Large Databases)即超大型数据库国际会议将于 2024 年 8月25日至29日在中国广州朗廷广场隆重举行&#xff01;VLDB大会是数据库领域的顶级学术盛会&#xff0c;而SIGMOD和ICDE则是与之齐名的另外两大数据库会议。这…

天锐绿盾 | 办公终端文件数据\资料防泄密软件

天锐绿盾是一款电脑文件防泄密软件&#xff0c;旨在帮助企业保护其敏感数据免受未经授权的访问和泄露。该软件采用先进的加密技术和文件监控机制&#xff0c;确保企业数据在存储、传输和使用过程中的安全性。 PC地址&#xff1a;https://isite.baidu.com/site/wjz012xr/2eae091…

Docker打包离线镜像到本地,上传解压到服务器

在我们部署Docker镜像时&#xff0c;难免会遇到服务器没有网络情况&#xff0c;Centos7离线安装Docker 这篇文章中&#xff0c;我们已经离线安装Docker完成&#xff0c;现在需要离线创建容器。 1 查看所有镜像 docker images注&#xff1a;如果我们想打包本服务器没有的镜像&…

v62.数组

1.简单介绍 就像数据可以存放在变量中&#xff0c;每个变量有名字、类型、以及内存空间。还可以用数组来保存 相同数据类型 的数据。 那么就避免了使用很多个独立的变量。数组是长度固定的数据结构&#xff0c;用来存放指定类型的数据。 2.初试数组 int num1,num2,num3...类…