我使用boost :: variant進行存儲,一個可能的數據成員是一個大型結構。所以二進制變體的大小至少是這個結構大小。在我的情況下,所有其他成員都非常小,如int或double。 爲了避免基本的大布局,有沒有辦法強制boost :: variant將項目存儲爲指針? 當然,我可以使用智能指針來保存的500個字節強制變量存儲指針
這個大結構,但在這種情況下,得到了Methode也將工作作爲指針訪問..這是不是很好
boost::variant<int,double,large_struct>>
尺寸或者其他小的解決方案,但每個接入具有處理指針
boost::variant<int,double,shared_ptr<large_struct>
的sizeof 40個字節
因此,你要在哪裏存儲'large_struct',以便它不會佔用相同的500字節內存? –