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

c++学习:命名空间

在开发大型项目或库时。命名空间可以帮 助你避免名称冲突,并且清晰地组织代码

std 是 C++ 标准库的命名空间。它是一个定义在 C++ 标准库中的所有类、函数和变量的命名空间

在 C++ 中,如果你想使用标准库中的任何类、函数或对象,你通常有两种选择

  1. 使用 std:: 前缀:这是最常见的方式,它明确指定了你正在使用的是位于 std 命名空间中的元 素
    std::cout << "Hello, world!" << std::endl;
    
  2. 使用 using namespace std; :这允许你在不显式指定 std:: 的情况下使用 std 命名空间中的 所有元素
    using namespace std;
    cout << "Hello, world!" << endl;

std 命名空间包含了许多类、函数和对象

  • 输入输出库(如 std::cout , std::cin , std::endl )
  • 容器类(如 std::vector , std::map , std::set )
  • 字符串类( std::string )
  • 异常类( std::exception 和相关子类)
  • 算法(如 std::sort , std::find )
  • 实用工具(如 std::pair , std::tuple )
  • 其他许多功能

使用建议

  • 对于小型代码或示例代码,使用 using namespace std; 通常是安全的。
  • 对于大型项目或库,建议显式地使用 std:: 前缀,以避免潜在的名称冲突,并提高代码的可读性 和可维护性。

自定义命名空间

namespace xxx {

}

xxx为命令空间的名字,在括号里定义自己的变量或者函数或者常量

使用命名空间

加入命名空间的头文件
xxx::函数名();
xxx::变量;


http://www.kler.cn/news/233418.html

相关文章:

  • C++ 中的模型预测控制(01/2)
  • python 动态数据 展示 ,数据是由51单片机发送过来的,温度传感器。
  • 【QT+QGIS跨平台编译】之三十二:【MiniZip+Qt跨平台编译】(一套代码、一套框架,跨平台编译)
  • 【前后端接口AES+RSA混合加解密详解(vue+SpringBoot)附完整源码】
  • [软件工具]文档页数统计工具软件pdf统计页数word统计页数ppt统计页数图文打印店快速报价工具
  • K8S容器挂了后重启状态正常,但应用无法访问排查处理
  • TELNET 远程终端协议
  • “OLED屏幕,色彩绚丽,画面清晰,让每一帧都生动无比。“#IIC协议【上】
  • 鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之Slider组件
  • CentOS 7安装Nodejs
  • 微信小程序上传代码教程
  • 2024/2最新升级ChatGPT Plus的方法
  • 堆排序----C语言数据结构
  • 股票均线的使用方法和实战技术,看涨看空的均线形态与案例教学
  • VisaulStudio2022下用VB.net实现socket与西门子PLC进行通讯案例(优化版)
  • QT初始程序
  • 设计模式-建造者模式Builder
  • uniapp的配置和使用
  • 【C语言】变量与常量
  • 【Qt】常见问题
  • 2.7日学习打卡----初学RabbitMQ(二)
  • springboot173疫苗发布和接种预约系统
  • 3 scala集合-Set
  • 面试经典150题 -- 栈(总结)
  • vue3+vite+ts 配置commit强制码提交规范配置 commitlint
  • 力扣刷题之旅:进阶篇(三)
  • Java异常的处理 try-catch-finally
  • Python 字符串模块
  • “OLED屏幕,色彩绚丽,画面清晰,让每一帧都生动无比。“#IIC协议【下】
  • JavaWeb02-MyBatis