当前位置: 首页 > 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
http://www.dtcms.com/a/191668.html

相关文章:

  • 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通讯
  • 【golang】DNS 资源记录(RR)接口
  • PyTorch LSTM练习案例:股票成交量趋势预测
  • uniapp微信小程序-长按按钮百度语音识别回显文字
  • R语言的专业网站top5推荐
  • 【Linux】动静态库的使用
  • 边缘计算模块
  • 专项智能练习(定义判断)_DA_02
  • idea整合maven环境配置
  • GPT-4o 遇强敌?英伟达 Eagle 2.5 视觉 AI 王者登场
  • 电池组PACK自动化生产线:多领域电池生产的“智能引擎”