c++: using namespace std是什么意思?命名空间的由来和基本的输入输出

namespace的由来与作用

namespace是由于c的不足改进出来的

在c语言中,我们定义的变量不能与函数名重复.而在大型工程里,我们命名的变量可能和同事所写的函数名冲突.这个时候怎么解决呢?总不能去天台决斗吧.

namespace应运而生.**命名空间相当于一堵墙,将库里面的所有函数保护起来,这样子变量的命名就不会与函数冲突.**因为编译器在默认情况下是不会去访问命名空间里面.

命名空间跟结构体有一点点类似,你要给这个空间起个名字.我们日常使用的std就是库里面一个命名空间的名字.

: :是预作用限定符.简单来说就是一把钥匙,暂时打开命名空间这堵墙,取出其中的一个参数rand.

命名空间的嵌套使用

命名空间是可以进行嵌套使用的,这样你在命名空间里面的多个函数的命名就不会冲突.

using namespace std 中的using是什么?

using相当于一个拆迁队,把命名空间std的这一堵墙全部拆毁.让std里面所有的参数暴露在全局空间中.using的使用很暴力,也很方便.但同样带来了危险.我们设置命名空间的目的就是怕我们命名的变量和函数名冲突.这下子又回到起点了. 所以在大型工程项目中不要把std直接展开.

using的使用要谨慎

在我们的日常使用中,为了方便,可以直接展开std.但是当各位看官都成为行业大牛,在大型工程中就不能展开std,防止命名冲突. ``

js 复制代码
```#include<iostream>

using std::cout;
using std::endl;

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

```js

可以对std里面的几个常用的进行展开,这样又安全又方便. <<是流插入,cout是输出,类似于printf,cout<<会自动识别类型. endl是end line的意思,相当于打一个换行符.

相关推荐
王老师青少年编程4 分钟前
2021年CSP-J初赛真题及答案解析(完善程序2)
c++·真题·csp-j·答案·csp·初赛·信奥赛
雪隐9 分钟前
个人电脑玩AI-16让5060 Ti给你打工——5060Ti 16G 跑 MiniMax-Music-3:从下载到 60s 出歌的全流程
前端·人工智能·后端
有点。18 分钟前
C++二叉树(一)
开发语言·数据结构·c++
报错小能手35 分钟前
Go 语言结构 基础语法
开发语言·后端·golang
Lazionr35 分钟前
stack与queue:底层实现与容器适配器
开发语言·数据结构·c++
暗黑小白36 分钟前
参数从哪来、何时来 —— 提取时机与平台化 Slot 管理
人工智能·后端·大模型·ai agent
剩下了什么44 分钟前
go语言 Ctx:「错误三:在 Context 中存储可变值」
开发语言·后端·golang
豆沙沙包?1 小时前
C++~~~vector容器(p31-P40)
开发语言·c++
小小de风呀1 小时前
de风——【从零开始学习C++】(十八):AVL树——让二叉搜索树自己“站起来“的自平衡黑科技
c++·科技·学习
程序员鱼皮1 小时前
DeepSeek Harness 最新邪修曝光!被吹成核弹的极简模式,真的夯吗?
前端·后端·ai编程