假设我有以下模板。
template<typename T>
class MyClass
{
public:
.............
private:
T _data;
}
当我使用它时,T 始终是一个结构(仅限数据)。例如,
struct ST1{
int a;
int b;
};
struct ST2{
int a1;
int b1;
int c1;
}
对于 MyClass 的特定实例,例如 ,MyClass<struct ST1> myinstance
我想访问myinstance.data.a
或myinstance.data.b
。我能想到的一种通用方法是在 MyClass 中定义方法,例如
void MyClass::write(T const &){ _data = T;}
T MyClass::read(){return _data;}
但问题是,对于每次读写,我都需要创建一个结构实例,即使我只访问_data
.
谢谢