在我的C++代码中,我不使用声明using namespace std;或using namespace boost;.这使我的代码更长,意味着更多的输入.我正在考虑开始使用"使用"声明,但我记得有些人反对这一点.建议的做法是什么?标准和助力是如此常见,那应该没有太大的伤害?
Kir*_*sky 16
我using namespace只在C++文件中使用,而不是在头文件中.此外,大多数时候都不需要使用孔名称空间.例如,您可以编写using boost::shared_ptr或using std::tr1::shared_ptr轻松地在shared_ptr实现之间切换.
样品:
#include <iostream>
using std::cout;
int main()
{
cout << "test" << std::endl;
return 0;
}
Run Code Online (Sandbox Code Playgroud)
ypn*_*nos 15
Using namespace ... 不是为了娱乐而发明的.
如果你有充分的理由使用它,那么这样做(并且经常使用来自这些命名空间的东西是确切的理由).不要听狂热分子告诉你他们不想做的一切,因为不明原因本身就是邪恶的.
但是,在这些方面推理的一个很好的来源是C++ FAQ lite:http: //www.parashift.com/c++-faq-lite/coding-standards.html#faq-27.5
我已经阅读过了,仍然决定像你想的那样使用它.现在您可以做出明智的决定:-)
小智 6
我自己的规则是:
std::string,std::cout等在其使用点std::string;using namespace xxxx;在生产代码中使用.事实上,代码中充满 ::std:: 前缀,在阅读代码时确实很烦人。但是,您想尽可能轻松地知道符号位于哪个命名空间中......
这不是 IDE 的工作吗?
只要我的 IDE 不支持“查看短类型名称”,我就倾向于using声明常用符号(即 STL、boost 等)。可读性第一!