【发布时间】:2013-05-11 00:40:12
【问题描述】:
我想使用宏将字符串常量转换为预处理标记。 示例:
// 获取新数据类型后缀的 marco 参数的第一个字符。 #define TYPE(typename) 前缀 ## typename #typename[0] 无效的主要() { 类型(int)a,b,c; // 前缀 a, b, c; 类型(浮动)x,y,z; // Prefixfloatf x, y, z; a = 3; }在 C/C++ 中可以吗?
p/s:对不起我的英语不好。
已编辑
【问题讨论】:
-
你不能取消字符串化,只能字符串化。
-
但这应该是你所需要的,只要你的常量不包含逗号。
-
非常努力,但无法抗拒:为什么要这样做?
-
我想使用 X 宏创建用户定义的数据类型。示例:在 OpenGL 中。 GLPoint3i, GLPoint3f : 将数据类型 (int , float) 中的第一个字符添加到我的数据类型的后缀。