C++:using : using的四大用法总结

news2024/11/18 19:34:20

1:using声明(引入单个名称)

using声明是将命名空间中某个名字单独引入到当前作用域,这使得我们在当前作用域下可以直接使用该名字而无需使用作用域限定符 :: 。

#include <string>
using std::string;
int main() {
	string c = "sss";
	return 0;
}

2: 使用别名, using类型别名 = 原类型。

#include <string>
using std::string;
using uint = unsigned int;
int main() {
	string c = "sss";
	uint i= 1;
	return 0;
}

3:using声明可以改变 派生类对父类成员的访问控制。

#include <string>
#include<iostream>
using namespace std;
class Base
{
protected:
	int bn1;
	int bn2;

};

class Derived :private Base {
public:
	// 在当前作用域中引入了 父类的保护成员,在当前作用域中是可以访问的。
	using Base::bn1;
};

class DerivedAgain :public Derived {
};


int main() {
	Derived d;
	DerivedAgain da;
	d.bn1 = 1;
	// d.bn2 = 2;  // error : bn2 是Base里一个私有的成员
	da.bn1 = 3;
	cout << "Derived bn1 = " << d.bn1 << endl;
	cout << "DerivedAgain bn1 = " << da.bn1 << endl;
	return 0;
}

 由于打印结果可知:

尽管 Dervied是Base的私有继承,但是通过 using声明父类的成员,那么我们就可以在 Dervied类以及其后的派生类中访问和使用。

4:using知识(引入命名空间) 

using指示就是将一个 命名空间中的所有名字全部引入当当前作用域(或者说将命名空间在当前作用域展开)。

using namespace std;

5: 类型重定义(替代typedef) 

语法: using alias = typename; // 使用别名去替代原始类型(重命名)

在C++11中,我们可以使用这样的语法来替代typedef的功能了 

using ULL = unsigned long long; // typedef unsigned long long ULL

using func = void(*) (int ,int)

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

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

相关文章

TKDE2022 | 基于关系的协同过滤算法,利用注意力机制来学习物品关系的嵌入特征...

嘿&#xff0c;记得给“机器学习与推荐算法”添加星标鉴于经典的协同过滤算法的有效性和易用性&#xff0c;基于物品的协同过滤方法已被广泛应用于工业领域&#xff0c;并在近年来被广泛研究。基于物品的协同过滤方法的关键在于物品之间的相似度测量&#xff0c;但本文认为这是…

推荐系统学习笔记-推荐系统数据流

一般数据流 数据流的定义 数据流&#xff08;data stream&#xff09;是一组有序&#xff0c;有起点和终点的字节的数据序列。包括输入流和输出流。数据流最初是通信领域使用的概念&#xff0c;代表传输中所使用的信息的数字编码信号序列。这个概念最初在1998年由Henzinger提…

《软件开发本质论》笔记——如何衡量价值

目录 一、使用数值来表示价值的做法 二、大多数与金钱有关的衡量指标的局限性 三、有没有一个简单的衡量方式 四、价值评估更好的做法 个人理解的价值 一、使用数值来表示价值的做法 这种方式可能让我们滑入深渊。 比如 如果公司开发产品的目的是赚钱&#xff0c;那么就可…

记一次:Keepalived安装高可用操作

前言&#xff1a;现在有许多现成的高可用产品&#xff0c;比如阿里的产品等等&#xff0c;直接购买就可以使用。这个只是笔者自己私下练习使用&#xff0c;成功了。所以记一次总结过程 安装方式一 下载安装包&#xff1a;https://keepalived.org/download.html网址下载2.2.7版…

【小程序】第一个小程序——创建小程序项目

目录 小程序简介 第一个小程序 安装开发者工具 创建小程序项目 小程序简介 1. 小程序与普通网页开发的区别 2. 体验小程序 可使用手机微信(6.7.2 及以上版本)扫码下方小程序码&#xff0c;体验小程序&#xff1a; 第一个小程序 1. 点击注册按钮 使用浏览器打开 https…

【大数据技术】Spark MLlib机器学习库、数据类型详解(图文解释)

机器学习的定义 机器学习是一种通过利用数据&#xff0c;训练出模型&#xff0c;然后使用模型预测的一种方法。机器学习的构建过程是利用数据通过算法构建出模型并对模型进行评估&#xff0c;评估的性能如果达到要求就拿这个模型来测试其他的数据&#xff0c;如果达不到要求就…

【图神经网络】Pytorch图神经网络库——PyG基础操作

Pytorch图神经网络库——PyG基础操作图数据处理常用的基准数据库Mini-BatchesData Transforms图学习方法参考资料PyG&#xff08;PyTorch Geometric&#xff09;是一个基于PyTorch构建的库&#xff0c;可轻松编写和训练图神经网络&#xff08;GNN&#xff09;&#xff0c;用于与…

【Web安全】访问控制

目录 1、权限与授权 2、垂直权限管理 3、水平权限管理 4、OAuth 1、权限与授权 权限控制&#xff0c;或者说访问控制&#xff0c;指的是当用户需要执行某个操作时&#xff0c;系统对这种操作的权限限制就是权限控制。 在网络中&#xff0c;一般是通过路由设备或者防火墙建立…

[oeasy]python0031_挂起进程_恢复进程_进程切换

查看进程 回忆上次内容 上次修改了 $PATH 路径 把当前用户shiyanlou的宿主文件夹 ~ 添加到 $PATH 中这样 sleep.py 就可以被找到于是就可以被执行了 还可以把配置 $PATH 的脚本 放到 zsh的配置文件(~/.zshrc) 中 配置 ~/.zshrc 就可以 设置 zsh 环境下默认的 $PATH 在当前路径…

攻防世界-easytornado

题目 访问题目路径 分别点击一下看看 然后我去百度了一下md5(cookie_secretmd5(filename))发现这是一个叫模板注入的东西 什么是模板 简单来说&#xff0c;就是网站内容的动态部分&#xff0c;如果有一个网站的内容几乎相同&#xff0c;但只有某些部分发生改变&#xff0c;那么…

javaweb学习之会话技术CookieSession05

目录 1.会话技术 2.快速入门 3.实现原理 4.cookiel的细节 2.cookie能不能存中文 3.cookie共享问题 4.Cooie的特点和作用 5.综合案例 记录上一次访问时间 1.会话技术 1会话&#xff1a;一次会话中包含多次请求和响应。 *一次会话&#xff1a;浏览器第一次给服务器资源发…

新冠确诊阳性后的第二篇博客,一文带你学习文件上传漏洞

新冠确诊阳性后的第二篇博客&#xff0c;一文带你学习文件上传漏洞1.什么是文件上传漏洞2.不要使用黑名单规定上传文件类型3.绕过文件上传检查功能4.Apache文件解析问题5.IIS文件解析问题6.设计安全的文件上传功能1.什么是文件上传漏洞 文件上传漏洞是指用户上传了一个可执行的…

RabbitMQ管理界面

&#x1f341;博客主页&#xff1a;&#x1f449;不会压弯的小飞侠 ✨欢迎关注&#xff1a;&#x1f449;点赞&#x1f44d;收藏⭐留言✒ ✨系列专栏&#xff1a;&#x1f449;Linux专栏 &#x1f525;欢迎大佬指正&#xff0c;一起学习&#xff01;一起加油&#xff01; 目录&…

记录我の秋招之旅【23届 CV算法岗】

文章目录碎碎念春招实习华为实习魔幻秋招尘埃落定碎碎念 今年(2022年)的秋招不能说"非常困难"吧&#xff0c;只能说是"地狱难度"&#xff0c;相信参与或者从侧面了解过的同学们也能感同身受。从今年的三月份开始着手秋招&#xff0c;期间也一直忙着实验室…

【基于Transformer和可逆神经网络】

Effective Pan-Sharpening With Transformer and Invertible Neural Network &#xff08;基于Transformer和可逆神经网络的有效泛锐化&#xff09; 可逆神经网络1 可逆神经网络2 在遥感成像系统中&#xff0c;全色锐化是从高分辨率全色图像及其对应的低分辨率多光谱图像获得…

30岁之后想转行,可行吗?这20条建议让你少走弯路!

都说三十而立&#xff0c;可眼看着到了意气风发的年龄&#xff0c;却突然意识到自己仍一事无成&#xff0c;甚至连养活自己都是问题。30多岁&#xff0c;大多数人还要开始买房、买车、结婚生子&#xff0c;养家糊口&#xff0c;于是各种压力逼迫之下&#xff0c;就想到了转行&a…

移动硬盘中安装ubuntu系统——Vmware Workstation安装

一. 简介 对于一个程序开发者来说&#xff0c;电脑系统开发环境非常重要。要使用相同的系统环境&#xff0c;可以的方式有&#xff1a;1、携带电脑&#xff0c;2、携带安装了系统的移动硬盘。相比来说&#xff0c;第二种方式更理想&#xff0c;如果是第一种方式携带电脑的话&a…

基于java+springboot的民宿预订信息网站-计算机毕业设计

运行环境 开发语言&#xff1a;Java 框架&#xff1a;springboot JDK版本&#xff1a;JDK1.8 服务器&#xff1a;tomcat7 数据库&#xff1a;mysql 数据库工具&#xff1a;Navicat11 开发软件&#xff1a;eclipse/myeclipse/idea Maven包&#xff1a;Maven 项目介绍 随着国民生…

大学没有学好专业,毕业如何转行?

大学颓废度过&#xff0c;毕业工作一无所长&#xff0c;颠沛流离&#xff01; 本人17届某二流专科毕业&#xff0c;模具设计与制造专业。其实对模具毫无兴趣&#xff0c;只怪当初没有主见听从没有出过县城的老爸的命令选择了模具这个专业。大学期间上课睡觉玩手机&#xff0c;…

2023年元旦倒计时案例

文章目录基于HTML实现2023年倒计时代码实现基于HTML实现2023年倒计时 代码实现 <!DOCTYPE html> <html> <head> <meta charset"utf-8"> <title>2023倒计时</title> <!-- <link rel"stylesheet" href"sty…