有关using
声明的建议做法是什么(例如using std::vector;
)?
它应该位于cpp / cc文件的顶部还是仅在使用它的范围内?
答案 0 :(得分:2)
限制其范围通常会更好,但是在源文件中需要一些非常重要的代码才能在实践中发挥作用。
答案 1 :(得分:2)
Sutter和Alexandrescu编写的C ++编码标准第59章命名为“不要在头文件中或在#include之前编写命名空间”。所以他们说你不应该在#include指令之前使用声明或using指令编写,因为这可能会影响#included代码。这也意味着你不应该在你自己的头文件中使用,因为有人可能会#include他们,这会改变包含点的行为(参见例如一些Boost头库)。
所以不要在头文件和#include指令之前使用。在#including指令之后,随意在实现文件中使用。
答案 2 :(得分:0)
如果它在cpp文件中,那就是风格问题。有些人倾向于一起避免using
声明,以避免任何歧义。如果在标题中,始终至少在某个范围内使用它,否则坚持变量规则:始终尽量使事物在最小的范围内。
答案 3 :(得分:0)
为了便于阅读,最好在开头使用它。 否则,请在尽可能小的范围内使用它。
为了使代码更清晰,您应该避免使用using
。
<强>更新强>:
请考虑mezhaka的评论。我不够精确,但是在“开头”到“真实”代码的开头,即#includes
之后