簡體   English   中英

c ++和ublas:創建具有不同大小的c_vector數組

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM