命名空间std详解

namespace 是c++的命名空间。为了在编程时解决起名容易重复的问题,提出了命名空间的概念。在同一个命名空间中对变量,函数,类等起名不能重复。而当在不同的命名空间时这些名字是可以重复的。比如:
namespace n1
{
int a;
}

namespace n2
{
int a;
}

使用时可以这样:
n2::a = 8;
n1::a = 8;
也可以声明我要使用的命名空间是n2:
using namespace n2;
这样以后默认的命名空间就是n2了,可直接写:
a = 8;
同n2::a = 8;


而using namespace std;
中的std是标准库函数使用的命名空间。这里先要说一下包含库函数的方法。老式的方法是:
#include <stdio.h>
这是为了和c兼容,他不用命名空间就可以直接调用里面的库函数如:
printf("%d",2);
而新式的方法是:
#include <cstdio>
这是为了更好的对类进行支持,但要使用命名空间如:
using namespace std;
printf("&d",2);
如果不加上using namespace std;这一句
那么在程序中用std::cout,std::cin,std::endl效果也是一样的

如果编译器同时支持<iostream>和
<iostream.h> 。如果使用了#include
<iostream>, 得到的是置于名字空间std下的iostream 库的元素;
如果使用#include <iostream.h>,得到的是置于全局空间的同样的元素。在全
局空间获取元素会导致名字冲突,而设计名字空间的初衷正是用来避免这种名
字冲突的发生.

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值