我对如何在标头中使用std库感到困惑。何时使用哪个库。是“使用命名空间std”和 conio.h 不同.. ??或者他们是同一件事。 “iostream”和“iostream.h”之间有什么区别?这些事让我很困惑......
答案 0 :(得分:1)
std
是C ++标准库的命名空间 - 例如,string
实际上属于此命名空间,因此string
的全名是std::string
。 using namespace std
告诉编译器我们要访问此命名空间中的资源 - 向我们提供global
,或直接访问它所拥有的string
。有关详细信息,请查看Pete的评论。
C ++标准库包含许多不同的包,其标题可以包含在其中,其中一个包含<iostream>
,可以在此处找到更多std
个标题:http://www.cplusplus.com/reference/ < / p>
conio.h
看起来像是一个不再受欢迎的旧版DOS专用C标题。
iostream.h
在某些时候被重命名为iostream
作为标准:http://members.gamedev.net/sicrane/articles/iostream.html
另见:Why is "using namespace std" considered bad practice?
感谢Pete!
答案 1 :(得分:0)
它只是让您使用 命名空间 std
,这是大多数标准C ++标头库的命名空间。如果您使用它,则无需在访问时添加std::
前缀,例如std::cout
或std::cin
,现在只有cout
和{{ 1}}分别。
例如:
cin
现在使用// without using namespace std
#include <iostream>
int main() {
cout << "Hello World"; // error
std::cout << "Hello World"; // outputs Hello World
return 0;
}
:
using namespace std
#include <iostream>
using namespace std;
int main() {
cout << "Hello World"; // outputs Hello World
return 0;
}
是一个C ++库,包含conio.h
和getch()
等函数。 putch()
是一个预标准 C ++库,在引入名称空间之前使用。 iostream.h
是一个标准库,其中包含iostream
和cin
等对象。