为什么经验丰富的编码者会使用std::,而不是使用using namespace std;?

30 浏览
0 Comments

为什么经验丰富的编码者会使用std::,而不是使用using namespace std;?

此问题已经在这里有了答案::

可能是重复问题:

为什么在C ++中使用\'using namespace std;\'被认为是不好的做法?

前几天当我问了一个问题时,有人回答说,如果有人问问题,请告诉他们正确的做法,而不是使用using namespace std;,我认为这有点奇怪,因为using namespace std;要容易得多,但我想我现在正在失败,因为我是一个“初学者”程序员,而你们知道得更多。

所以我想问的是:

为什么要使用std :: 而不是using namespace std;

谢谢.

admin 更改状态以发布 2023年5月23日
0
0 Comments

简而言之,使用命名空间可以减少因为错误的函数或类型或命名冲突而产生的问题。比如你使用你自己的 math 库,同时也使用了 std 库,他们两个定义了同名的 pow 函数,那么在你调用 pow 函数的时候,你到底使用的是哪个 pow 函数呢?使用命名空间可以避免这个问题,虽然多了点打字的工作量,但是这也是值得的。

0
0 Comments

来自C++ FAQ:

我在代码中应该使用using namespace std吗?

可能不应该。

人们不喜欢反复输入std::,他们会发现using namespace std让编译器看到任何未经限定的std名称,但这其中的问题是它会使编译器看到任何你没有考虑到的std名称。换句话说,它可能会创建名称冲突和歧义。

https://isocpp.org/wiki/faq/coding-standards#using-namespace-std

0