您的位置:首页 > 编程语言 > C语言/C++

C++技巧之五

2004-02-17 18:47 337 查看

//Originaldo/whileMacro
//原始的do/while宏
#defineMY_ASSERT_ONE(x)do{/
if(!(x)){/
_asmint3/
}/
}while(0)
//newMacrothatremovestheloop
//新宏移去了loop
#defineMY_ASSERT_ONE(x){/
if(!(x)){/
_asmint3/
}/
}


代码清单4避免一个编译器错误

(a)./*Thiscodewillcauseacompileerror*/
/*此段代码将产生一个编译器错误*/
voidmain(void)
{
inti=10;
printf("i:%d/n",i);
intj=100;/*Thisstatementwillcauseacompilererrorsince
itwasnotdeclaredatthetopofthefunction.*/
/*此语句将导致一个编译器错误,
因为它未在函数顶部声明过。*/
printf("j:%d/n",j);
}
(b)./*whereasthiscodewillnot*/
/*而此段代码将不产生一个编译器错误*/
voidmain(void)
{
inti=10;
printf("i:%d/n",i);
{
intj=100;/*Thisstatementisfinesinceitisakin
todefiningalocalfunctionwithinthefunction.*/
/*此语句很精炼,
因为它在函数中定义了一局部函数的同族。*/
printf("j:%d/n",j);
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: