具有未知结构作为成员的类
class with unknown struct as member
是否可以在 c++ 中为类分配未知结构?也许是虚拟函数之类的东西?还是将指针分配给结构?结构将在施工时分配,然后永远不会改变。
class Class{
void someFunction(){
//do something with the struct
};
struct unknownStruct;
};
struct Struct1{
int value1;
} struct1;
struct Struct2{
int value2;
int value3;
} struct2;
int main()
{
Class object1;
Class object2;
object1.struct=struct1;
object2.struct=struct2;
return 0;
}
您可以使用模板
template<class StructType>
struct Class {
void SomeFunction() { ... }
StructType myStruct;
};
或变体(如果结构数量有限(
struct S1 { };
struct S2 { };
struct Class {
void SomeFunction() { ... }
std::variant<S1, S2> myStruct;
};
或多态性
struct Base { virtual ~Base() = default; };
struct Class {
void SomeFunction() { ... }
std::unique_ptr<Base> myStruct;
};
或简单的空指针
struct Class {
void SomeFunction() { ... }
void* myStruct; //std::shared_ptr<void> might be safer to use
//or maybe std::any.
};
相关文章:
- 具有未知结构作为成员的类
- C++:将未知类型的对象存储为成员变量的类
- 未知大小的数组作为类成员,用于在运行时(对象创建时间)创建数组的对象
- 是否有可能获得未知类的班级成员的计数和类型
- Eigen:如何将未知大小的矩阵存储为类中的成员
- 连接来自未知类的成员函数以增强信号
- 指向未知类的成员函数的C++指针
- 预编译的标头策略-具有来自(未知)类的继承和本地成员
- 当类类型未知时,指向非静态成员函数的函数指针
- C++ no除了未知成员函数
- 是否可以检查是否为类定义了成员函数,即使该成员继承自未知基类
- 类成员是类型未知的派生对象
- 如何将未知类型的数据成员初始化为默认值
- 联合内部的未知成员函数
- 当类类型未知时调用成员函数
- 在成员函数中未知大小的数组上迭代
- 是否有可能将一个动作附加到boost::spirit::规则解析器,该解析器将解析结果分配给(尚未)未知实例的成员
- 是否有可能将boost::bind绑定到已知类但(尚未)未知对象的成员函数?
- c++存储指向未知类成员函数的指针
- Std::一个未知大小的数组作为类成员