为什么在新的IDE中必须使用命名空间std,而用Turbo C ++ / Borland C ++编写的程序却不需要命名空间std?

Kun*_*dan 1 c++ namespaces std turbo-c++

为什么namespace std用Turbo C ++ / Borland C ++编写的程序不需要名称空间std 时必须在新的编译器中使用?

这适用于旧的编译器

#include <iostream.h>

int main () {
   cout << "Hello Programmers";

   return 0;
}
Run Code Online (Sandbox Code Playgroud)

但是我们必须在新的编译器中编写以下给定的程序,而不是在上面的程序中编写,因为上述程序在新的编译器中不起作用。

#include <iostream>
using namespace std;

int main () {
   cout << "Hello Programmers";

   return 0;
}
Run Code Online (Sandbox Code Playgroud)

πάν*_*ῥεῖ 6

这是因为turbo-c ++甚至在发布任何c ++标准之前就已发布,并且它们没有引入std名称空间。

此后从未更新过。

同样,使用该using namespace std;语句不是强制性的,而是劝阻

代码应为:

#include <iostream>

int main () {
   std::cout << "Hello Programmers";
}
Run Code Online (Sandbox Code Playgroud)

要么

#include <iostream>
int main () {
   using std::cout;    
   cout << "Hello Programmers";
}
Run Code Online (Sandbox Code Playgroud)

这次,有关turbo-c ++的IMO问题也毫无用处。它已经过时了,并且不需要用现代c ++做任何事情。
如果您的教授/老师强迫您使用它1,请告诉他们他们做错了,并且不以任何方式教授c ++。


1)我知道这在印度学校很常见,但这只是不好的做法,没有合理的理由。
可能是他们希望您从头开始学习一些东西,因为turbo-c ++不支持诸如此类的容器std::vector
但是我仍然认为这是错误的方法,因为手动内存管理是高级的东西,不应该用来使初学者感到困惑。


归档时间:

查看次数:

98 次

最近记录:

6 年,2 月 前