[英]c++ and ublas: creating an array of c_vectors with different sizes
有沒有辦法創建不同大小的ublas c_vector數組?
例如
array[0]
將返回ublas::c_vector< double, 3 >
(size = 3), array[0](0)
將訪問其第一個元素
array[1]
將返回ublas::c_vector< double, 7 >
(size = 7), array[1](0)
將訪問其第一個元素
等等
我認為您可以使用std::vector<boost::any>
,然后將不同大小的ublas::c_vector
推入其中。
std::vector<boost::any> v;
v.push_back(ublas::c_vector<double,3>());
v.push_back(ublas::c_vector<double,7>());
v.push_back(ublas::c_vector<double,9>());
//etc
應該使用boost::any_cast
將元素boost::any_cast
回適當的類型,該類型是自定義關鍵字boost::any_cast
,用於從boost::any
提取給定類型的值。
您也可以嘗試boost::variant
。 更好地選擇適合您的需求。 在做出決定之前,請先閱讀以下內容:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.