是否有一个可以在编译时返回唯一字符串的宏,以便它可以用作objective-c 类的名称?
我在想类似的东西:
#define my_macro(params) \
@implementation my_macro_function_giving_unique_string_(MyTrickyRuntimeExtension) \
//Do stuff \
@end \
是否有一个可以在编译时返回唯一字符串的宏,以便它可以用作objective-c 类的名称?
我在想类似的东西:
#define my_macro(params) \
@implementation my_macro_function_giving_unique_string_(MyTrickyRuntimeExtension) \
//Do stuff \
@end \
在 C++ 中,它可以是:
#define UNIQUE_NAME2(LINE) Class##LINE
#define UNIQUE_NAME1(LINE) UNIQUE_NAME2(LINE)
#define UNIQUE_NAME UNIQUE_NAME1(__LINE__)
并将其用作:
class UNIQUE_NAME {};
[注意:每行声明 1 个类,不要希望在任何地方前向声明它 :)]
__COUNTER__
Visual Studio 中有一个预定义的宏可以帮助
我使用了 iammilind建议
#define UNIQUE2(param) YourClassBaseNames##param
#define UNIQUE1(param) UNIQUE2(param)
#define UNIQUE UNIQUE1(__COUNTER__)
class UNIQUE
{
};
class UNIQUE
{
};
counter - 返回新的计数 ech 时间
参考: http: //msdn.microsoft.com/en-us/library/b0084kay (v=vs.80).aspx
它也可用于 GCC