我有一个结构S
,将T
类型的两个固定大小的数组打包在一起。reinterpret_cast结构到一个固定大小的数组
template<typename T>
struct S {
array<array<T, 20>, 10> x1;
array<T, 10> x2;
};
我想大小210的我试图用reinterpret_cast
T
类型元素的一维数组的引用,但是编译器不会接受这样的:
S<T> s;
array<T, 210>& x = *reinterpret_cast<S*>(&s);
我知道this作品:
S<T> s;
T* x = reinterpret_cast<T*>(&s);
但有一种方式来获得从该结构的固定大小的一维数组的引用?我尝试使用#pragma pack(pop, 1)
没有成功。
您的演员似乎...怀疑。你为什么要这样?这个问题似乎是[XY问题](http://meta.stackexchange.com/questions/66377/what-is-the-xy-problem)。 – 2015-04-02 15:37:21
我有几种不同的类型(机器学习模型),它们有很多参数。为了有效地使用自己的参数,每种类型都将它们打包在一个或多个多维数组中。另外我有一个通用函数,可以优化任何数量的参数,而不管它们来自哪个模型。 – 2015-04-02 15:43:53
注意严格的锯齿规则。 – Lingxi 2015-04-02 15:51:46