解决VC6和VC2008的for循环变量作用域不同问题的一个方法

来源:互联网 发布:腾讯新闻php面试题 编辑:程序博客网 时间:2024/06/04 19:05
 
实现原理:将i的作用域限制在else{}子句的范围内.

========

VC6有个比较明显的不符合C++规范地方,就是在for语句内部定义的变量,其作用范围却会延伸到for语句之外,所以,如果使用如下的代码,会出现编译错误:

for (int i=0; i<n; i++)
{   ......   }
for (int i=0; i<n; i++)   // 此处VC6会报错:变量i重复定义
{   ......   }

一直用C语言或者一直用VC6的同学可能觉得这很正常,但是用惯了标准C++或更高版本VS的同学可能会感觉比较别扭、比较不方便。
其实解决方法非常简单,只要在开头添加一行宏定义:
#define for if (false); else for
就行了。
用VA的同学可以直接将这行语句做成模板,以后就方便了。

经大量测试,此法不会对程序的效率造成任何不良影响。
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 租房子押金不退怎么办 外地人签户口到武汉怎么办 开发商不给办土地证怎么办 房间里的油烟味怎么办 现金借款app还不了款怎么办 学校不允许实习生自己租房怎么办 盯盯拍开不了机怎么办 向私人借钱不还怎么办 微信好友借钱不还怎么办 支付宝借不了钱怎么办 支付宝借条关了怎么办 qq群不小心解散了怎么办 qq群解散了照片怎么办 出租屋没窗户很闷怎么办 二手房交税后房主不卖怎么办 二房东收不到租拖欠房租怎么办 房东不给换门锁怎么办 租房到期房东联系不到租客怎么办 廉租房名下有车怎么办 路边停车收忘记交费怎么办 考编忘记交费了怎么办 深圳公租房入库了接下来怎么办 公租房5年以后怎么办 教务系统密码忘记了怎么办 林科大教务处密码忘记了怎么办 智学号密码忘了怎么办 正方教务管理系统忘记密码怎么办 正方教务系统忘记密码怎么办 教务网密码忘了怎么办 电动车解除限速报警器不响怎么办 公租房住满5年怎么办 广州公租房收入超标怎么办 深圳法院拍卖房子不肯搬走怎么办 上海奉贤公租房的期满怎么办 公租房人口少了怎么办 公租房太远了怎么办 商品房没有门厅业主该怎么办 公帐付款备注错了怎么办 我是农村户口在外省交社保怎么办 北京租房遇到黑中介怎么办 上海租房子不让带孩子怎么办