游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2329|回复: 2

高手们,请问这个C++宏是什么意思?

[复制链接]

36

主题

102

帖子

155

积分

注册会员

Rank: 2

积分
155
QQ
发表于 2009-5-25 13:29:00 | 显示全部楼层 |阅读模式


#define EXTERN_STACK_VAR(_type, _varname, _size) CExternStackVar hugestack__##_varname(_size); _type _varname = (_type)hugestack__##_varname.m_ptr;

这个宏定义是什么意思呢?

36

主题

102

帖子

155

积分

注册会员

Rank: 2

积分
155
QQ
 楼主| 发表于 2009-5-25 17:31:00 | 显示全部楼层

Re:高手们,请问这个C++宏是什么意思?

自己搞定。
## 操作符:双数字标记,或标记连接符(token-pasting ),有时也被叫做“合并”操作符。
用于像对象、函数一样的宏。因为要连接左右2个字符串,所以不能在宏定义的起始或结尾处。
如果在宏定义的起始或结尾处定义了该符号,形参立刻被未展开的实参所替换。在参数替换前,
宏展开将不被执行。

#define paster( n ) printf_s( "token" #n " = %d\n", token##n )
int token9 = 9;

int main( void )
{
    paster( 9 );
    system( "pause" );
}

1

主题

9

帖子

29

积分

注册会员

Rank: 2

积分
29
发表于 2009-6-2 09:48:00 | 显示全部楼层

Re:高手们,请问这个C++宏是什么意思?

可以把
EXTERN_STACK_VAR(char, name, 16)

替换为:

CExternStackVar hugestack__name(16);
char name = (char)hugestack__name.m_ptr;



您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-12-20 04:34

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表