当前位置: 首页 > news >正文

C++(12):using声明

目录

一、定义

二、核心用法示例

示例 1:单独引入 std::string 和 std::coun

示例 2:在局部作用域中使用 using 声明

三、对比 using namespace std(不推荐)

四、关键注意事项

1. 名称冲突问题

2. 作用域规则

3. 头文件中的陷阱

五、最佳实践总结

六、完整安全示例

七、总结

一、定义

  using 声明用于将特定命名空间中的名称引入当前作用域,使得后续代码可以直接使用这些名称,而无需添加命名空间前缀(如 std::)。
它有两种形式:

  1. 单独引入特定名称(推荐):using std::string;

  2. 引入整个命名空间(谨慎):using namespace std;


二、核心用法示例

示例 1:单独引入 std::string 和 std::coun
#include <string>
#include <algorithm> // std::count 定义在此头文件// 在全局作用域引入 std::string 和 std::count
using std::string;
using std::count;int main() {string s = "hello";  // 等价于 std::stringint cnt = count(s.begin(), s.end(), 'l');  // 直接使用 std::countreturn 0;
}
  • 效果:在全局作用域中,string 和 count 均指向 std 中的定义。


示例 2:在局部作用域中使用 using 声明
#include <string>
#include <algorithm>int main() {// 仅在 main 函数内引入usin

相关文章:

  • TensorFlow深度学习实战(16)——注意力机制详解
  • 医疗数据迁移质量与效率的深度研究:三维六阶框架与实践创新
  • OpenCV光流估计:原理、实现与应用
  • 【视频】解决FFmpeg将RTSP转RTMP流时,出现的卡死、出错等问题
  • OpenCV CUDA模块中矩阵操作------范数(Norm)相关函数
  • Ubuntu 编译SRS和ZLMediaKit用于视频推拉流
  • Opencv C++写中文(来自Gemini)
  • 电脑桌面便签哪个好?2025年电脑免费用的便签软件推荐
  • Maven clean 提示文件 java.io.IOException
  • nginx负载均衡及keepalive高可用
  • [IMX] 02.GPIO 寄存器
  • [IMX] 03.时钟树 - Clock Tree
  • C#中BackgroundWorker的概念与用法详解
  • 【网工】华为配置基础篇①
  • 华为数字政府与数字城市售前高级专家认证介绍
  • 【hadoop】Flume的相关介绍
  • [Linux]从零开始的STM32MP157 Busybox根文件系统测试及打包
  • [IP地址科普] 服务器公网IP、私网IP、弹性IP是什么?区别与应用场景详解
  • java-JUC概述(进行分类总结-包含原子类、并发集合、线程等)
  • Profibus DP主站转Profinet网关接E+H流量计与西门子plc通讯
  • 九江宜春领导干部任前公示,3人拟提名为县(市、区)长候选人
  • 选址江南制造总局旧址,上海工业博物馆建设有新进展
  • 董军在第六届联合国维和部长级会议上作大会发言
  • 辽宁盘山县一乡镇幼儿园四名老师被指多次殴打一女童,均被行拘
  • “养胃骗局”大公开,真正有用的方法究竟是?
  • 香港特区立法会通过条例草案便利外地公司迁册来港