c++的命名空间

命名空间

一.c++的关键字

c++中一共有63个关键字

关键字 1 1 1 1 1
asm do if return try continue
auto double inline short typedef for
bool dynamic_cast int signed typeid public
break else long sizeof typename throw
case enum mutable static union wchar_t
catch explicit namespace static_cast unsigned default
char export new struct using friend
class extern operator switch virtual register
const false private template void true
const_cast float protected this volatile while
delete goto reinterpret_cast

二.命名空间

在c++中使用命名空间的目的是对标识符的名称进行本地化,以避免命名冲突或名字污染,namespace关键字的出现就是针对这种问题的

c 复制代码
int rand = 10;
int main()
{
	printf("%d\n", rand);
	return 0;
}

这个代码在vs下就会报错

2.1 命名空间定义

定义命名空间需要使用namespace关键字,后面在加上{}就行

c 复制代码
namespace zhang
{
	int a=10;

}

int main()
{
	cout<<zhang::a << endl;
	return 0;
}

在命名空间中我们可以可以定义变量/函数/类型,就当main函数使用,当然我们也可以嵌套命名空间

cpp 复制代码
namespace zy
{
	namespace zz
	{
		namespace yy
		{
			int rand = 0;
		}
	}
}

int main()
{
	cout << "hello world" << endl;

	//:: 域作用限定符
	cout  << zy::zz::yy::rand << endl;
	return 0;
}

2.1 命名空间的使用

命名空间的使用有三种方式

2.1.1加命名空间名称及作用域限定符

c 复制代码
int main()
{
	cout<<zhang::a << endl;
	return 0;
}

2.1.2使用using将命名空间中某个成员引入

c 复制代码
using zy::zz::yy::rand;

int main()
{
	cout  << zy::zz::yy::rand << endl;
	return 0;
}

三.标准命名空间std

标准C++库中的所有标识符都是在一个名为std的命名空间中定义的,或者说标准头文件中的函数、类、对象和模板实在命名空间std中定义的。一般用using namespace语句对命名空间std进行声明,这样可以不必对每个命名空间成员一一进行处理,在文件的开头加入如下语句:

using namespace std;

相关推荐
不会C语言的男孩10 分钟前
C++ Primer 第3章:字符串、向量和数组
开发语言·c++
兰令水12 分钟前
leecodecode【反前后指针】【2026.5.31打卡-java版本】
java·开发语言
Dovis(誓平步青云)1 小时前
《QT学习第四篇:常见事件与UDP、TCP、文件系统、(锁、信号量、条件变量》
c语言·开发语言·汇编·qt
code monkey.1 小时前
【Linux之旅】Linux 应用层自定义协议与序列化:从粘包问题到网络计算器
linux·网络·c++
草莓熊Lotso1 小时前
【Linux网络】深入理解 HTTP 协议(二):从协议格式到手写工业级 HTTP 服务器
linux·运维·服务器·网络·c++·http
AI人工智能+电脑小能手8 小时前
【大白话说Java面试题 第87题】【Mysql篇】第17题:分布式事务的实现原理?
java·数据库·分布式·mysql·面试
来杯@Java9 小时前
图书管理系统(基于springboot+vue前后端分离的项目)计算机毕业设计java
java·spring boot·spring·vue·毕业设计·mybatis·课程设计
卷毛的技术笔记9 小时前
告别硬编码!Spring AI Alibaba 实现 AI Agent 智能工具调用(Tool Calling)
java·人工智能·后端·python·spring·ai编程
编程大师哥9 小时前
匿名函数 lambda + 高阶函数
java·python·算法
isyangli_blog9 小时前
OpenDayLight (Carbon 版本) 启动与组件安装
开发语言·php