新微赢技术网
标题:
宏问题 #define TRACE(ARG) cout
[打印本页]
作者:
Yaci
时间:
2009-11-5 01:07
标题:
宏问题 #define TRACE(ARG) cout
#include<iostream.h>
#define TRACE(ARG) cout<< #ARG<<endl;ARG
void main()
{
//for(int i=0;i<100;i++)cout<<i<<endl;
TRACE(for(int i=0;i<100;i++)) //这里有';'与无';'结果不一样,不知道这里的宏是如何替换的
TRACE(cout<<i<<endl;)
}
XDJM们,请指教一二~~
作者:
~~精灵小姐$
时间:
2009-11-5 01:07
不会吧,没人知道?
作者:
笨笨洋葱
时间:
2009-11-5 01:07
TRACE(for(int i=0;i<100;i++))
TRACE(cout<<i<<endl;)
注意 # 的用法 #ARG 意思是把ARG转换为字符串
/*没有分号 展开为
cout<<"for(int i=0;i<100;i++)"<<endl;
for(int i=0;i<100;i++) cout<<"cout<<i<<endl;"<<endl; //输出100次
cout<<i<<endl;
*/
/*有分号 展开为
cout<<"for(int i=0;i<100;i++)"<<endl;
for(int i=0;i<100;i++);//循环100次 不输出任何东西
cout<<"cout<<i<<endl;"<<endl;
cout<<i<<endl;
*/
欢迎光临 新微赢技术网 (http://bbs.weiying.cn/)
Powered by Discuz! X3.2