C++ using(八股总结)
using作用:
- 类型别名
- using声明
- using指示
类型别名
using 可以用来创建类型别名,替代传统的 typedef。这在定义复杂类型时尤其有用,例如模板类型。
// 使用 typedef 创建类型别名
typedef long long ll;// 使用 using 创建类型别名
using ll = long long;// 对模板类型创建别名
template<typename T>
using Vec = std::vector<T>;
using 声明
一条 using 声明 语句一次只引入命名空间的一个成员。它使得我们可以清楚知道程序中所引用的到底是哪个名字。如:
using namespace_name::name;
using 指示
using 指示 使得某个特定命名空间中所有名字都可见,这样我们就无需再为它们添加任何前缀限定符了。如:
using namespace_name name;
尽量少使用 using 指示 污染命名空间
一般说来,使用 using 命令比使用 using 编译命令更安全,这是由于它只导入了指定的名称。如果该名称与局部名称发生冲突,编译器将发出指示。using编译命令导入所有的名称,包括可能并不需要的名称。如果与局部名称发生冲突,则局部名称将覆盖名称空间版本,而编译器并不会发出警告。另外,名称空间的开放性意味着名称空间的名称可能分散在多个地方,这使得难以准确知道添加了哪些名称。
using 使用
尽量少使用 using 指示
using namespace std;
应该多使用 using 声明
int x;
std::cin >> x ;
std::cout << x << std::endl;
或者
using std::cin;
using std::cout;
using std::endl;
int x;
cin >> x;
cout << x << endl;
主要区别
| 特性 | using 声明 | using 指示 |
|---|---|---|
| 引入范围 | 指定的单个名称 | 整个命名空间的所有名称 |
| 潜在冲突风险 | 低,因为只引入特定名称 | 高,可能引入命名冲突 |
| 作用范围 | 当前作用域(如函数内部) | 全局作用域或所在的代码块 |
| 代码可读性 | 高,明确指出使用了哪些名称 | 可能降低,难以追踪使用了哪些命名空间中的名称 |
| 使用场景 | 需要频繁使用某些特定名称且希望避免命名冲突时 | 小型项目或特定范围内简化代码书写时 |
相关文章:
C++ using(八股总结)
using作用: 类型别名using声明using指示 类型别名 using 可以用来创建类型别名,替代传统的 typedef。这在定义复杂类型时尤其有用,例如模板类型。 // 使用 typedef 创建类型别名 typedef long long ll;// 使用 using 创建类型别名 using …...
《分布式光纤传感:架设于桥梁监测领域的 “智慧光网” 》
桥梁作为交通基础设施的重要组成部分,其结构健康状况直接关系到交通运输的安全和畅通。随着桥梁建设规模的不断扩大和服役年限的增长,桥梁结构的安全隐患日益凸显,传统的监测方法已难以满足对桥梁结构健康实时、全面、准确监测的需求。分布式…...
C++(5)
1.运算符重载 头文件 #ifndef MYSTRING_H #define MYSTRING_H#include <iostream> #include <cstring>using namespace std;class myString { private:char *str;//C风格字符串int size0; public:std::string s_str;//转换构造函数myString(const std::string &a…...
【进程与线程】程序和进程在内存中的表现
在计算机系统中,程序和进程是两个密切相关但又有本质区别的概念,尤其在内存中的表现上有显著不同: 在这张图中可以直观地看出程序和进程在内存中的结构区别。 基本定义 程序 程序 是一个 静态实体,表示一组写好的指令和数据的…...
个人主页搭建全流程(Nginx部署+SSL配置+DCDN加速)
前言 最近开始准备秋招,打算做一个个人主页,以便在秋招市场上更有竞争力。 目前,现有的一些搭建主页的博文教程存在以下一些问题: 使用Github Page进行部署,这在国内访问容易受阻使用宝塔面板等框架,功能…...
语音合成的预训练模型
语音合成的预训练模型 与 ASR(语音识别)和音频分类任务相比,语音合成的预训练模型检查点明显较少。在 Hugging Hub 上,可以找到近 300 个适合的检查点。 在这些预训练模型中,重点关注两种在 Huggingface Transformers 库中开箱即用的架构——SpeechT5 和 Massive Multili…...
前端组件开发:组件开发 / 定义配置 / 配置驱动开发 / 爬虫配置 / 组件V2.0 / form表单 / table表单
一、最早的灵感 最早的灵感来自sprider / 网络爬虫 / 爬虫配置,在爬虫爬取网站文章时候,会输入给爬虫一个配置文件,里边的内容是一个json对象。里边包含了所有想要抓取的页面的信息。爬虫通过这个配置就可以抓取目标网站的数据。其实本文要引…...
Swagger生成Api文档的增强解决方案--knife4j
方法一: 使用步骤 1.导入 knife4j 的maven坐标 在pom.xml中添加依赖 <dependency><groupId>com.github.xiaoymin</groupId><artifactId>knife4j-openapi3-jakarta-spring-boot-starter</artifactId><version>4.5.0</ver…...
Node.js - HTTP
1. HTTP请求 HTTP(Hypertext Transfer Protocol,超文本传输协议)是客户端和服务器之间通信的基础协议。HTTP 请求是由客户端(通常是浏览器、手机应用或其他网络工具)发送给服务器的消息,用来请求资源或执行…...
LangChain学习笔记2 Prompt 模板
安装 langchain 库 pip install langchain1、概念:提示和提示工程 在大语言模型(LLMs)时代,通过简单地更改提示中的指令,同一个模型可以执行多种任务。这一特性让 LLMs 在各类应用场景中都显得非常灵活和强大。然而&…...
如何在gitlab cicd中实现每月10号上午执行
在 GitLab CI/CD 中,可以通过设置定时触发器(Schedules)和脚本中的时间判断逻辑结合,确保任务只在每月 10 号的上午运行。 以下是实现的步骤: 1. 设置定时触发器 GitLab 提供了 Schedules 功能,可以指定每…...
SimpleFOC |SimpleFOC学习笔记汇总
在机器人领域,掌握无刷电机的控制相当于掌握机器人设计的“半壁江山”。这个年代,对个人来说学习一种新技术最好是通过开源项目了。通过开源项目快速将项目搭建起来,接着结合实践与理论才能真正掌握技术。 入门FOC,我认为最合适是…...
OpenArk64:Windows 系统分析与逆向工程工具详解
引言 在 Windows 系统的底层操作和逆向工程领域,OpenArk 是一款备受推崇的开源工具集。而 OpenArk64.exe 是 OpenArk 工具的 64 位版本,专门用于 64 位 Windows 系统。它提供了强大的功能,帮助用户深入分析系统内核、进程、文件、注册表等&a…...
数据储存与管理【大数据导论】
这里是阿川的博客,祝您变得更强 ✨ 个人主页:在线OJ的阿川 💖文章专栏:大数据入门到进阶 🌏代码仓库: 写在开头 现在您看到的是我的结论或想法,但在这背后凝结了大量的思考、经验和讨论 目录 1…...
《从零到一:搭建高效体育直播网站的全流程技术指南》
搭建一个体育直播网站需要综合考虑技术架构、数据来源、用户体验、安全性等多个层面。从整体到细节,搭建这样一个网站的流程比较复杂,但可以分成几个重要的步骤和技术环节。以下是搭建体育直播网站的技术层面准备全流程: 一、需求分析与规划 …...
松散比较(PHP)(小迪网络安全笔记~
免责声明:本文章仅用于交流学习,因文章内容而产生的任何违法&未授权行为,与文章作者无关!!! 附:完整笔记目录~ ps:本人小白,笔记均在个人理解基础上整理,…...
一文了解如何使用 DBeaver 管理 DolphinDB
在日常的数据开发、分析和数据库运维中,一款优秀的 IDE 能够极大地提升工作效率。DBEaver 是一款由 Java 编写的一站式跨平台连接器,其社区版本已能支持连接近百种数据库,受到广大开发者的喜爱。近期。DolphinDB 与 DBeaver 团队共同努力&…...
网络基础知识指南|1-20个
1. IP地址: 即互联网协议地址,是用于标识互联网上的每一个设备或节点的唯一地址。IP地址的作用主要是进行网络设备的定位和路由,确保数据包可以从源设备准确地传送到目标设备。2. 子网掩码: 是用于将一个IP地址划分为网络地址和主机地址的工具。它通常与…...
01.09周四F34-Day50打卡
文章目录 1. -我大衣呢? -就在上次你放的地方。2. 这所学校是在曾经的影院上建立起来的。3. 她今天落到这个地步都怪你。4. 留得青山在,不怕没柴烧。(一息尚存,希望不灭。)5. 有善良的地方就有美德,有美德的地方就有奇迹。(《灰姑娘》原句)6. 为了和老外说话时不再发窘,所…...
Linux简介和环境搭建
Linux 介绍和环境搭建 1、发行版本 Linux 操作系统有多个主流发行版本,每个版本根据不同的目标、特点和使用场景为用户提供了不同的功能和体验。 Ubuntu • 特点:Ubuntu 是最为人熟知的 Linux 发行版之一,强调易用性和用户友好性ÿ…...
实战指南:运用快马平台生成集成homebrew的一键式全栈应用本地部署脚本
最近在折腾一个前后端分离的小项目,后端用Node.jsRedis,前端是React。为了让团队其他成员能快速在本地跑起来,我研究了下如何用Homebrew配合脚本实现一键部署。这里分享下我的实战经验,整个过程在InsCode(快马)平台上测试验证过&a…...
OpenClaw备份方案:Phi-3-vision-128k-instruct模型快照与技能打包技巧
OpenClaw备份方案:Phi-3-vision-128k-instruct模型快照与技能打包技巧 1. 为什么需要备份OpenClaw工作环境 上周我的开发机突然遭遇硬盘故障,导致辛苦调试两个月的Phi-3-vision-128k-instruct微调参数全部丢失。这次惨痛教训让我意识到,对于…...
015、RAG在智能客服、知识库、代码助手等场景的落地案例
015、RAG在智能客服、知识库、代码助手等场景的落地案例从一次深夜告警说起 某天夜里,线上客服系统触发了大量“答非所问”的告警。爬起来查日志,发现用户问“如何重置A型设备的出厂密码”,系统返回的却是B型设备的固件升级步骤。问题出在传统…...
业绩大增37%,订单超210亿!博泰车联财报释放强信号,龙头未来可期
日前,博泰车联交出了上市后的首份亮眼「成绩单」。财报显示,博泰车联2025年全年实现营收35.1亿元,较上年大幅增长37.26%;过去的几年间,博泰车联的营收规模实现爆发式增长,年复合增长率达44.9%。这种高增长态…...
NOKOV度量光学动捕系统赋能骨科手术机器人 破解股骨骨折微创植板精度难题
在精准医疗、医疗机器人的行业发展趋势下,股骨骨干骨折微创钢板植入手术的精度难题成为骨科临床与医工交叉领域的研究重点。山东大学张勤河教授团队重磅研发双模式机器人辅助股骨干骨折钢板植入方法,依托NOKOV 度量光学三维动捕系统实现手术轨迹的精准采…...
3大维度解析Source Han Serif CN如何重塑中文字体应用生态
3大维度解析Source Han Serif CN如何重塑中文字体应用生态 【免费下载链接】source-han-serif-ttf Source Han Serif TTF 项目地址: https://gitcode.com/gh_mirrors/so/source-han-serif-ttf 价值解析:从商业、技术、设计维度重新定义开源字体价值 商业价值…...
千问3.5-2B网页版深度解析:前端上传逻辑、后端推理链路、JSON返回结构
千问3.5-2B网页版深度解析:前端上传逻辑、后端推理链路、JSON返回结构 1. 平台概述 千问3.5-2B是Qwen系列中的轻量级视觉语言模型,专为图片理解与文本生成任务优化设计。这个开箱即用的解决方案将复杂的AI能力封装成简单的网页交互,用户无需…...
Qwen3-ForcedAligner-0.6B与LaTeX的学术工作流整合
Qwen3-ForcedAligner-0.6B与LaTeX的学术工作流整合 1. 引言 学术研究过程中,我们经常需要处理大量的访谈录音、讲座内容或实验讨论。传统的手工转录不仅耗时耗力,更让人头疼的是如何在最终论文中精准引用特定时间点的对话内容。想象一下,你…...
个人电脑也能玩转大模型!Llama Factory+QLoRA微调实战,RTX4060即可运行
个人电脑也能玩转大模型!Llama FactoryQLoRA微调实战,RTX4060即可运行 你是不是也以为,训练一个属于自己的大语言模型,是那些拥有昂贵服务器和顶级显卡的大公司才能做的事?动辄几十GB的显存需求,让很多个人…...
3MF格式与Blender插件实战解决方案:从设计障碍到3D打印全流程优化
3MF格式与Blender插件实战解决方案:从设计障碍到3D打印全流程优化 【免费下载链接】Blender3mfFormat Blender add-on to import/export 3MF files 项目地址: https://gitcode.com/gh_mirrors/bl/Blender3mfFormat 一、问题:当3D打印遭遇"数…...
