using namespace std 介绍

using namespace std;

首先我们要知道,这句代码的意思是:打开标准命名空间,即告诉编辑器我们将要使用名字空间std中的函数或者对象。

using 意思就是正在使用的意思。
namespace 的引用是为了解决不同space中命名相同导致命名冲突的问题。使用using namespace …的引用可以让编译器准确的找到我们需要的函数或者对象,能有效的提高程序员写代码的效率,但这些都和性能无关,仅仅对程序员有利。
std 是个名称空间标识符,C++标准库中的函数或者对象都是在命名空间std中定义的,所以我们要使用标准库中的函数或者对象都要用std::来限定。

只是在std 标准空间里,包含了原来的库和头文件。但是在C++ 中因为我们要使用的STL中有部分名称是没有加下划线的保留标记的,而这些名称如果再用在自己的源代码中 就会引发未定义的后果。

所以当我们在写成熟的代码的时候,一般不建议将标准命名空间全部打开,而是需要用库里的什么就打开什么。这就有效的防止了命名冲突

下面是std中常用的标准对象 : cin>>标准输入,cout<<标准输出,endl 换行  和函数 string 字符串 在代码中的三种使用。

第一种使用:使用using namespace std; 完全打开std 命名空间 --不安全,超简单

需包含< iostream>头文件,再在include后面使用 using namespace std;
注意: 

### C++中 `using namespace std` 的含义与作用 在C++中,`using namespace std` 是一种声明语句,用于简化代码书写。它告诉编译器,在当前作用域内使用 `std` 命名空间中的所有标识符[^1]。这意味着,程序员可以直接使用 `std` 命名空间中的对象、函数和类型,而无需显式地在每个地方加上 `std::` 前缀。 #### 没有 `using namespace std` 的影响 如果没有使用 `using namespace std`,则需要通过命名空间限定符 `std::` 来访问标准库中的元素。例如: ```cpp #include <iostream> int main() { std::cout << "Hello, World!" << std::endl; return 0; } ``` 这种方式虽然显得冗长,但可以明确区分哪些标识符属于标准库,从而减少潜在的命名冲突[^2]。 #### 使用 `using namespace std` 的优点 在日常练习或小型项目中,`using namespace std` 能显著提高编码效率,因为它省去了每次调用标准库元素时都需要写 `std::` 的麻烦。例如: ```cpp #include <iostream> using namespace std; int main() { cout << "Hello, World!" << endl; return 0; } ``` 这种写法更加简洁,适合初学者快速上手[^3]。 #### 使用 `using namespace std` 的缺点 尽管 `using namespace std` 提高了编码效率,但它也可能引入命名冲突的风险。当项目规模增大或多个命名空间被引入时,如果定义了与标准库同名的对象、类型或函数,则可能导致编译错误或行为异常[^4]。例如: ```cpp #include <iostream> using namespace std; int main() { int cout = 10; // 定义了一个名为 cout 的变量 cout << "Hello, World!"; // 编译错误:cout 是变量还是 std::cout? return 0; } ``` #### 替代方案 为了避免命名冲突,可以在需要的地方显式导入特定的标识符,而不是整个命名空间。例如: ```cpp #include <iostream> using std::cout; using std::endl; int main() { cout << "Hello, World!" << endl; return 0; } ``` 这种方式既能保持代码简洁,又能避免不必要的命名冲突。 ### 总结 `using namespace std` 是C++中的一种便捷声明,用于简化对标准库中标识符的访问。然而,它的使用应根据具体场景权衡利弊。在小型项目或学习阶段,可以直接使用 `using namespace std`;而在大型项目中,建议采用更精确的方式(如 `std::cout` 或 `using std::cout`)以降低命名冲突的风险。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值