按照C++标准,下面这段代码是合法的:
for(int i=0;i<5;i++);
for(int i=0;i<4;i++);
但是很遗憾,在VC6里编译通不过,错误提示是重复定义了i。
为了让VC++ 6.0的for语句看起来符合C++标准,你可以这样做:
#define for if (0); else for
for(int i=0;i<5;i++);
for(int i=0;i<4;i++);
但是很遗憾,在VC6里编译通不过,错误提示是重复定义了i。
为了让VC++ 6.0的for语句看起来符合C++标准,你可以这样做:
#define for if (0); else for
并且由于编译器的优化,Release版本不会增加任何额外的开销。可能很多朋友跟我一开始一样,觉得直接
#define for if (1) for 不是更好么?那么下面这段代码将解释一切:
if (xxx)
for (int i = 0; i < 5; ++i)
func1();
else
func2();
进行宏代码展开后,成为:
if (xxx)
if (1)
for (int i = 0; i < 5; ++i)
func1();
else//问题就在这里了
func2();
if (xxx)
for (int i = 0; i < 5; ++i)
func1();
else
func2();
进行宏代码展开后,成为:
if (xxx)
if (1)
for (int i = 0; i < 5; ++i)
func1();
else//问题就在这里了
func2();
每次输入#define for if(0); else for岂不烦死,至少像我这样的懒人绝对受不了。我给VC动一下小小的手术。
打开iostream(还有ios
打开iostream(还有ios