C++ 当中的 # 号的作用

本文详细解析了C++预处理器中的三种特殊操作符:字符串化、字符化和连接符,通过实例展示了它们的用法和区别。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

//第一种情况作为Stringizing Operator(#),叫字符串化。
#define stringer( x ) printf( #x  ) 


/* 第二种情况作为char Operator(#@) 叫做字符化 */
#define charger(x) #@x


/* 第三种情况作为Token-Pasting Operator(##) 叫做连接符 */
#define Token(x) (x##x)


int _tmain(int argc, _TCHAR* argv[])
{
// stringer( In quotes in the printf function call\n ); 
// stringer( "In quotes when printed to the screen"\n );
// stringer( "This: \" prints an escaped double quote" );
//
// // 第二种情况
// cout<< "第二种情况"<<endl;
// char a =charger(b);
// cout <<a;
// 
// char aa ='b';
// // 第三种情况,连接符
// cout << "第三种情况"<<endl;

// printf("aaa%c", Token(a));

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值