2017-08-23 70 views
0

我的理解是,在C++中,我们不应该使用:C++ - 最佳实践:使用'的std :: cout` VS'的std :: cout`

using namespace std;

两个可能的替代方案是:

1)将using std::cout;在文件的开头,只需键入cout需要时

2)型std::cout每次我们需要使用cout

时间

我的理解是,第二种方法是最好的。但是,这是否始终在专业环境中遵循?在高度快节奏的环境中遵循是否切实可行?我习惯了第一种选择。切换是否有利?

注意:我最初在Code Review上发布了这个消息,我被告知这个话题属于这里。请不要让我知道。

+3

然而,你的步伐高得多,那么输入'std ::'多花的时间不会太长。你通常会花费更多的时间思考,而不是打字,至少我希望如此;) – Quentin

+0

它不属于这里,因为它主要是基于意见而不是技术问题。但是你可能想要阅读[this](https://stackoverflow.com/questions/1452721/why-is-using-namespace-std-considered-bad-practice)以获得一些平庸的意见。 – nwp

+2

'使用std :: cout;'与使用std有相同的问题;' –

回答

2

所以我用C++做了一点,但我会说这个问题属于所有语言的命名空间问题。真正的问题是,如果你有多个具有相同功能的命名空间,它会使阅读正在发生的事情变得更加困难,并且会导致不希望的结果。

例如,如果在两个名称空间中有两个具有相同名称的函数,代码将如何知道使用哪一个?当您添加多个名称空间并调用一个函数时,还会出现另一个问题。读代码的人如何知道代码来自哪个命名空间?让函数前面的名称空间有助于使代码更具可读性。