下面的这样一段程序,在标准的C++中是不能够被编译的(例如:在Linux中使用g++):
#i nclude
using namespace std;
int main(int argc, char * argv[])
{
register i=0;
for(i=0;i<10;i++)
{
cout< }
return 0;
}
但是,这段程序却可以在VC++中通过编译。
不同的编译器有其各自的特殊性,即使我们学习的是完全标准的C++语言,也许,所写出来的程序也不能在所有的编译器上编译通过,当然,如果是绝对符合ISO标准的代码,极少有在某些编译器上编译不同过的情况!
当我们习惯或者公司需要我们使用一种编译器来编译我们的程序时,我们最好能够熟悉我们使用的编译器都具有哪些特性,正所谓工欲善其事必先利其器,所以,我一直有一个愿望,能够完完整整的看一边gcc编译器的说明书。呵呵。
对于上面的代码,我们只需要在register后面加上int,表示声明的是整数类型,那么在g++中就可以编译通过了。而在windows的VC中呢,仍然可以编译,所以,编写标准的c/c++代码,对于代码的移植是非常重要的,养成编写标准c/c++代码同样是一种好习惯。 |