using namespace使用相关问题

本文讨论了C++中`using namespace std`的便利与潜在问题,指出这种做法可能导致编译错误和代码维护困难。建议避免全局使用`using namespace`,而是直接使用std::前缀,或者在局部作用域限制使用。此外,还提醒开发者尽量避免自定义类名与标准库类名冲突,并在使用第三方库时谨慎处理命名空间。
摘要由CSDN通过智能技术生成

对于C++开发的刚入门者,在写代码时,用到std::string、std::cout等标准系统函数时,为图方面,喜欢这样写:

#include <iostream>

using namespace std;

...


这样写的一个好处是,在后面用到iostream里定义的函数和成员时,不用每个用到的地方加上std::开头,会给减少部分代码编写工作。但是,这种写法通常不被具有开发经验的人员所推荐,因为会导致以下问题:

比如对于string, 通常情况下一个完善的平台都会有自己定义的string类。如果这个string类的名称刚好是string(与std::string中的string)名相同,那么当你写以下代码时:

std::vector<std::string> names;

my_cool_reimplementation::vector<our_internal_stuff::string> othernames

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值