我有一個結構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