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

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.xdnf.cn/news/6552.html

相关文章:

  • 智能包装机控制终端技术方案:基于EFISH-SCB-RK3588/SAIL-RK3588的全场景国产化替代解析
  • Console Importer浏览器插件的编译 及 制作成.crx浏览器插件的步骤
  • electron进程通信
  • 128.在 Vue 3 中使用 OpenLayers 实现绘制矩形截图并保存地图区域
  • 关于xammp数据库打开不了,但是日志没错误的问题解决以及其数据库的备份
  • 如何利用 Python 爬虫按关键字搜索京东商品:实战指南
  • Docker 安装 MySQL8
  • OpenCV 图像直方图:从原理剖析到实战应用
  • linux系统服务
  • Qt信号槽机制与UI设计完全指南:从基础原理到实战应用
  • 【笔试训练】简单写词|dd爱框框|除2!
  • Cursor无法使用C/C++调试的解决办法
  • Ubuntu使用Docker搭建SonarQube企业版(含破解方法)
  • Hugging Face 中 LeRobot 使用的入门指南
  • LangChain4j +DeepSeek大模型应用开发——10 检索增强生成 RAG
  • Ubuntu下配置VScode出现#include错误请更新includePath的解决方法
  • Java类一文分解:JavaBean,工具类,测试类的深度剖析
  • 汽车零部件冲压车间MES一体机解决方案
  • 卷积神经网络和深度神经网络的区别是什么?
  • 数据结构与算法-线性表-单链表(Linked List)
  • OSCP备战-kioptrix 2014详细步骤
  • 第三十一节:直方图处理-直方图反向投影
  • 题目:两个线程交替输出1-100的数字,例如:t1--》1,t2--》2,....
  • 最小生成树(竞赛)
  • python基础语法(三-上)
  • 技术文档:变频器干扰问题与解决方案
  • 印度全印度游戏联合会(AIGF)介绍与用途
  • 本地化部署HomeAssistant语音助手并接入DeepSeek
  • git 本地提交后修改注释
  • 数控机床控制单元技术方案:基于EFISH-SCB-RK3588/SAIL-RK3588的赛扬N100/N150国产化替代全场景解析