我对宏有疑问。我如何通过宏将模板类转换为普通类。例如:
#define RUNTIME_CLASS(class_name) ((CRuntimeClass*)(&class##class_name))
template<typename T> A {};
if (RUNTIME_CLASS(A));
我知道这段代码不会编译,因为它看不到模板位。但我不明白实际的宏。它的回归看起来像(CRuntimeClass*)(&classA)
为什么##
连接会产生 class + A ?以及预处理器如何理解这种符号?