“使用名称空间标准”有什么好的选择?

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

  • 为什么“使用名称空间标准”被认为是不好的做法? 35个答案

  • using namespace std;引入std命名空间到全局命令空间的所有主要选择using namespace std; 在全球范围内是:

  • 只需带上您需要的实际名称。 例如刚刚引进vectorusing std::vector;

  • 在使用名称时始终使用显式名称空间限定。 例如std::vector<int> v; (在标题中,这几乎总是你做的唯一事情)

  • 引入所有名称,但缩小范围(如只在函数内部)。 例如void f() { using namespace std; vector<int> v; } void f() { using namespace std; vector<int> v; } void f() { using namespace std; vector<int> v; } - 这不会污染全局名称空间。


  • 另一种方法是在任何地方编写std:: 。 由于名称冲突以及因为目前尚不清楚而令人不悦。 如果你只是写vector我不会立即知道你是否使用了一些数学3d矢量或标准库矢量或其他东西。 如果你写std::vector就很清楚。 如果你using namespace stdvector可能会与我自己的3D数学类相撞,称为vector

    链接地址: http://www.djcxy.com/p/29791.html

    上一篇: What are good alternatives to "using namespace std;"?

    下一篇: redefinition of 'WhatEver' as different kind of symbol