【转载】一个关于VC++6.0与标准C++差异处理的小技巧
2011-10-03 01:21
423 查看
原文地址:http://hi.baidu.com/3bian/blog/item/755c6bf4ac00582ebd3109e4.html
VC++6.0对标准C++的支持并不太好,其中最常见的就是:
#include<iostream>
//#define for if(0);else for
using namespace std;
int main()
{
int s=0;
for (int i=1;i<10;i++) ;
for (int i=1;i<10;i++) ;
cout<<s;
return 0;
}
这样,在标准c++里,i的作用域仅在for循环内,出了for循环就不能用了。所以上面的语句实际是没有错的。但VC++6.0会认为i的作用域是从定义开始到main函数结束为止。所以它就会说i重定义了。
那么,有时候,想让你的标准C++代码在VC++6.0上也能运行,可以在文件开头加上这么一句宏:
#define for if(0);else for
这样,上面的语句就可以编译并正确运行了。
VC++6.0对标准C++的支持并不太好,其中最常见的就是:
#include<iostream>
//#define for if(0);else for
using namespace std;
int main()
{
int s=0;
for (int i=1;i<10;i++) ;
for (int i=1;i<10;i++) ;
cout<<s;
return 0;
}
这样,在标准c++里,i的作用域仅在for循环内,出了for循环就不能用了。所以上面的语句实际是没有错的。但VC++6.0会认为i的作用域是从定义开始到main函数结束为止。所以它就会说i重定义了。
那么,有时候,想让你的标准C++代码在VC++6.0上也能运行,可以在文件开头加上这么一句宏:
#define for if(0);else for
这样,上面的语句就可以编译并正确运行了。
相关文章推荐
- (转)一个关于VC++6.0与标准C++差异处理的小技巧
- (转)一个关于VC++6.0与标准C++差异处理的小技巧
- [转载+总结]关于C++中文字符的处理 - absolute - 博客园
- 一个关于OutOfMemoryError的处理【转载】谢谢网络上大神们
- [转载+总结]关于C++中文字符的处理
- c++ 一个关于计时器的源代码 <转载>
- 标准的PID处理例程 (转载的一个工业控制中常用算法)
- (转载和原创)关于解决C++“error LNK1169: 找到一个或多个多重定义的符号”的解决方法
- 一个关于c++字符串处理和delete[]与delete差别的问题
- fstream在VC++6.0与标准C++中的差异
- C++中理解“抛出一个异常”与“传递一个参数”或“调用一个虚函数”间的差异(11)---《More Effective C++》
- (转载)2011年金山软件C++开发工程师笔试题 关于逆序输出
- 关于在httpHandlers增加了一个,但是URL中包含空格,无法处理
- 关于派生类的构造的——一个程序的分析(钱能c++ P353),加上了析构函数
- c++中一个关于模板的小例子
- LVTTL标准——一个有关于电压的标准
- 在一个Activity中结束另一个Activity的方法;如何是从A跳转到B, 结束A的;关于Activity在后台被销毁的处理;关于Activity在后台被销毁的处理
- 关于rand()的函数: 请问一个关于C++的问题...
- 关于C++对汉字拼音的处理——终结篇(补充)
- More Effective C++(条款12:了解“抛出一个异常exception”与“传递一个参数”或“调用一个虚函数”之间的差异)