有些人声称using namespace std;
是不好的做法。其他人说这样就好了。但是每个人都同意将它放在头文件中是禁止的。
亲爱的读者,可以从Bjarne Stroustrup自己的网站上解释一下。
http://www.stroustrup.com/Programming/Graphics/std_lib_facilities.h
他甚至没有将它放在您可能注意到的顶部,大约50行。
这里发生了什么?是恶作剧黑客通过在他的网站上放置不良代码来诋毁BS吗?
答案 0 :(得分:23)
您是否在文件开头阅读了评论?
简单的“编程:使用C ++的原理和实践”课程标题 在最初几周内使用 。它提供了最常见的 标准头文件(全局命名空间中的 )和最小的异常/错误 支持。
学生:请不要试图了解标题的详细信息 还没。一切都将被解释。此标头主要用于此目的 你不必一次理解每个概念。 4月修订 25,2010:simple_error()添加
这个想法是这样你可以开始使用该语言,而无需了解第1天的命名空间,也不必担心需要包含哪些标准标题。
答案 1 :(得分:3)
看到这是一个课程标题,我认为学生应该包含它,然后以这种方式使用大部分标准库。令我感到惊讶的是Stroustrup以这种方式教导它(在我看来,这仍然是一种不好的做法),但这确实意味着他只有一点点语法可以向他的学生解释。我认为任何非课程作业(或者更糟糕的是,图书馆)都不应该包含它,所以它可以说是可以接受的。
我仍然认为这种风格非常糟糕,并且说标准事物必须以std::
为前缀本来会更好。
答案 2 :(得分:0)
首先,这是教材,因此远非相同。其次 - 那又怎样?每个人都会犯错误或维护遗留标题。第三,仅仅因为你发明了一种语言并不能使你永远掌握一切 - 特别是在有标准委员会时。