新人请教C++问题

来源:百度知道 编辑:UC知道 时间:2024/06/03 09:49:57
我买了一本21天学通C++,里面环境是VC++6.0,里面所有的例子的头文件都加H,#include<iostream.h>要是不加这个H,就编译不过,但是我看别的教材如C++primer plus里所有的例子都不加这个H,这是为什么呢?请教大家 了
请问这个21天学通C++,电子工业出版社的,他介绍的这个倒底是标准C++,还是混合着C介绍的,如果是混合C介绍的,那他也不是一本真正介绍C++的书,可以这样认为吗?
不知道VC++6.0加上USENAMESPACE STD,能不能顺利编译?还没试过

不加.h的是标准C++文件。
加.h的C++文件是过去的版本中遗留的。
比如说:<iostream>是标准文件,但是<iostream.h>是非标准。
有区别:
一般标准文件里的东西都是装在命名空间的,比如说你想用cin cout,如果载入<iostream.h>就可以直接用,如果载<iostream>就要加上using namespace std;
。建议养成用标准文件的习惯。
早期的C和C++的头文件都采用扩展名为.h形式,较旧的编译器可能只支持旧标准格式,而符合ANSI/ISO C++最新标准的编译器既支持旧标准格式,也可以使用新的头文件格式,对纯粹的C++头文件来说(如iostream),去掉扩展名.h不仅仅是形式的变化,没有.h的头文件使用了名称空间机制。

不加.h的是标准C++文件。
加.h的C++文件是过去的版本中遗留的。
比如说:<iostream>是标准文件,但是<iostream.h>是非标准。
有区别:
一般标准文件里的东西都是装在命名空间的,比如说你想用cin cout,如果载入<iostream.h>就可以直接用,如果载<iostream>就要加上using namespace std;
。建议养成用标准文件的习惯。

早期的C和C++的头文件都采用扩展名为.h形式,较旧的编译器可能只支持旧标准格式,而符合ANSI/ISO C++最新标准的编译器既支持旧标准格式,也可以使用新的头文件格式,对纯粹的C++头文件来说(如iostream),去掉扩展名.h不仅仅是形式的变化,没有.h的头文件使用了名称空间机制。

加了.h的是兼容C的版本,在C++中不加.H的话就应该加上USENAMESPACE STD;