对VS2005C++编译器的一点体会

对VS2005C++编译器的一点体会,第1张

对VS2005C++编译器的一点体会,第2张

使用Visual Studio 2005一段时间后,发现其C++编译器比以前更加遵循C++标准。有两个语法变化让我印象深刻:

1.for循环语句中循环控制变量的有效范围更加明确。

我们曾经在for语句中这样写:

for(int I = 0;i//做某事
}
if (i>0) {
//做其他事情
}

在这段代码中,I是一个循环控制变量。循环处理后,I在loop语句外仍然是有效变量,可以在后面的代码中使用。

在正式的C++标准中,这是不允许的。

使用新编译器编译原始代码时,必须进行以下修改:

int I;//移出for循环
for(I = 0;i//做某事
}
if (i>0) {
//做其他事情
}

2.常量的类型定义更加严格。对于下面的常量定义,编译器通常将其默认为int类型:

const BUFLEN = 255

但是,在新的编译器中,这种没有类型声明就隐式指定常量为整数的语法将被禁止。该类型必须声明如下:

const int BUFLEN = 255

3.除此之外,在使用Visual Studio 2005编写MFC程序时,还有一个小变化,就是CWnd::OnNcHitTest的返回值原来是UINT,现在是LRESULT。

位律师回复
DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » 对VS2005C++编译器的一点体会

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情