Tag: 聚合

将模板生成的类分配给具有相同布局的C结构

如果我理解正确,那么对象’A’定义如下: typedef struct { int n; float *p; } myStruct; myStruct A; 是一个聚合,其内存布局与对象’B’完全相同,定义如下: template class myTemplateClass { public: int n; T* p; }; myTemplateClass B; 那么,是否有更优雅的分配方式 A = B; 而不是写 A = *(reinterpret_cast(&B)); 每次? 我的理由是我必须调用一个库函数,该函数使用“myStruct”forms的参数公开一个接口,从代码中以myTemplateClass的forms保存我的数据是非常自然的。