社区
C++ 语言
帖子详情
using namespace std;的作用是什么?
muturenby
2008-10-20 08:39:23
在好多例子中看到开头都有这么一句,却不知道其是什么意思?
using namespace std;
请问这一句是什么意思,有什么作用?
...全文
4609
23
打赏
收藏
using namespace std;的作用是什么?
在好多例子中看到开头都有这么一句,却不知道其是什么意思? using namespace std; 请问这一句是什么意思,有什么作用?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
23 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Superior_hx
2011-11-02
打赏
举报
回复
学习了!
wkl0503030
2008-10-21
打赏
举报
回复
1
就是让你使用命名空间std,入门书籍的前几章为了突出重点一般不会详细解释它的用法,而且都是全局的。
在全局using namespace std中cin和cout就像你看到的一样分别是输入输出操作。但是如果你自己定义了另外一个命名空间任然可以使用cin和cout这两个名称,但是他们的用法就和在std中不一样了。可以理解为不同环境中的同一事物的用途不同。全局的意思就是它在程序中的任何地方的作用都是一样的,局部就是只在它所在的那个块起作用。
dbd1984
2008-10-21
打赏
举报
回复
引入std命名空间,建议LZ看看这方面的书
zgjxwl
2008-10-21
打赏
举报
回复
找本书看看namespace,然后来理解它
figo1885
2008-10-21
打赏
举报
回复
...你如果是在vc6中,包含#inlude <iostream.h>也是可以的 也可以用cin cout endl
但是vs2005以后都不行了,一定要用#include <iostream> using namespace std;
figo1885
2008-10-21
打赏
举报
回复
...你如果是在vc6中,包含#inlude<iostream.h>也是可以的
但是vs2005以后都不行了,一定要用#include<iostream> using namespace std;
figo1885
2008-10-21
打赏
举报
回复
...你如果是在vc6中,包含#inlude<iostream.h>也是可以的
但是vs2005以后都不行了,一定要用#include<iostream> using namespace std;
piao0128
2008-10-21
打赏
举报
回复
请问上面的,那我怎么有的时候不用这句,照样还是可以直接的用cin,cout,endl啊?
agpintel
2008-10-21
打赏
举报
回复
看了這么多, 我感覺還不是很清楚.
kkndciapp
2008-10-21
打赏
举报
回复
使用标准库里面的全局定义变量
alai5201987
2008-10-21
打赏
举报
回复
在c++标准程序库中,使用了明明空间std;
在使用c++标准程序库的任何标志副,可以直接指定标志服所属的命名空间。
一个软件往往由多个模块组合而成,其中包括不同的程序员开发的组建及类库提供的组建,这样不同的组建在对标识符命名是有可能会发生冲突。命名空间(namespace)就是为了解决这个问题而提出的。
一楼的答案很详细。
elegant87
2008-10-21
打赏
举报
回复
学习了!
nanjingposts
2008-10-21
打赏
举报
回复
dd
plusbug
2008-10-20
打赏
举报
回复
命名空间可以用于 避免命名冲突,还有就是 区分 逻辑关系,主要是写大程序时候用
backway
2008-10-20
打赏
举报
回复
支持1楼
sockerly
2008-10-20
打赏
举报
回复
比便移植中出现的重名问题,比如微软有一个全局方法叫AddNumber()保存为命名空间Micro
Sun公司也有一个方法叫AddNumber()
保存为命名空间Sun
这样使用中可以使用Micro::AddNumber()调用微软的方法
而在C++中使用using namespace std;
则是说明需要使用std空间的中的一些方法
比如cout
如果不在头部生命在main中等地方使用std::cout才可以达到同样的效果
liecs
2008-10-20
打赏
举报
回复
和java的import等都是类似的。
解决避免include时引入同名的函数名,变量等
chen_brilliant
2008-10-20
打赏
举报
回复
命名空间,不加上的话用cin,应该是std::cin,cout同理
谭建新
2008-10-20
打赏
举报
回复
引入 std 命名空间
hackers007
2008-10-20
打赏
举报
回复
using命名空间声明
加载更多回复(3)
详解:为什么尽量不要使用
using
namespace
std
?
Q1:为什么尽量不要使用
using
namespace
std
?为什么我看到很多资料都写着能不用就不用,能在大括号里面用就不要在外面用。我刚刚开始学 c++ 所以不太明白 A: 需要保证的是尽量不要在头文件里
using
任何东西尤其是
namespace
,要不然 include 进来的时候很容易莫名其妙产生命名冲突。 有条件的话,所有引入的符号都定义在自己的
namespace
里。任何情况下都不要
using
namespace
std
从理论上来说也是有道理的:因为系统库可能会升级,这样升级编译使
using
namespace
std
啥意思?命名空间?
弄明白命名空间的
作用
域及使用方法。
C++中
using
namespacr
std
;的
作用
会引入
std
命名空间中的所有成员,包括可能会和当前
作用
域中的其他标识符重名的成员,这可能会导致命名冲突。因此,在头文件中不建议使用
using
namespace
std
;,而是应该使用前向声明或者直接加上
std
:: 前缀来引用
std
命名空间中的成员。是一个常用的语句,它的
作用
是引入
std
命名空间中的所有成员到当前的命名空间中,这样在当前的
作用
域中就可以直接使用
std
命名空间中的所有成员,而不需要在每个标识符前加上
std
:: 的前缀。这样能够减少代码的冗余,并使代码更加清晰、易读。
在C++中加上
using
namespace
std
; 和不加上有什么区别
using
namespace
std
;
C++ 中,
using
namespace
std
适合快速原型开发和小型项目 污染全局命名空间:引入所有
std
符号,可能与其他第三方库冲突(如 boost::shared_ptr vs
std
::shared_ptr).🔍 关键原则:最小化命名空间污染,优先通过显式限定或选择性引入保持代码清晰。显式限定:直接使用
std
::cout、
std
::vector。✅ 推荐使用:小型项目、局部
作用
域、明确无冲突的场景。⚠️ 避免使用:头文件、全局
作用
域、大型多人协作项目。方法 代码示例 适用场景。缺点(潜在风险)。
C++ 语言
65,209
社区成员
250,518
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章