【发布时间】:2022-11-23 20:56:16
【问题描述】:
我在 C++ 中有一个类和一个嵌套类,它们都是通用类。
#define GENERIC template<typename T>
GENERIC
class Class1 final{
private:
GENERIC
class Class2 final{
private:
T class2Field{};
};
T class1Field{};
};
我想将实例化时传递给Class1的类型参数T传递给Class 2。我怎样才能做到这一点?
【问题讨论】:
-
第一步是停止使用宏.
-
通过不使用创建您自己的特殊宏有限的C++ 子集。拼出模板介绍器,并为每个参数指定自己的名称。然后你就可以随意使用这些名字了。这个问题类似于关于男人去看医生并抱怨“当我做这种奇怪的事情时很痛”的笑话,所以医生当然会回答“那好吧,不要做这种奇怪的事情”。
-
这里不需要使用宏。