boost-any

    0熱度

    1回答

    我有哪裏的要求:1。 我需要存儲在列表中的任何類型的對象 2.避免鑄造呼籲儘可能 爲此我試圖來的東西。無論我嘗試過什麼,我都無法擺脫拳擊\拆箱。我想知道你們中是否有人遇到過能夠實現這一目標的事情。 我創建的類幾乎沒有用處,除非您處理的是小集合,因爲在內存和性能方面它需要1.5倍ArrayList。我試圖找到改善其中至少一個的方法(最好是性能)。 任何反饋意見。 public class Casta

    0熱度

    4回答

    我想創建一個類,它將有一個get模板方法,它將接收std :: string以在std :: map中查找正確的變量並將其返回。 性病::地圖應存儲任何類型的變量,所以我用的boost ::任何,迄今爲止的std ::地圖看起來像這樣: std::map<std::string, boost::any> variables_; 爲get函數,我試過的東西像這樣: template <typen

    0熱度

    1回答

    我有一個變量boost::any*項。我的要求是: 指定具有int,double或任何其他數據類型的值列表的項目。但是在特定時間,數據類型將是唯一的。 問題: 對於單值I可以使用項[索引] =值分配;但是,如果我做item =價值;其中values是一個double數組,它不能自動投射。另外,如果我使用 items = boost::any_cast<boost::any*>(values)

    1熱度

    2回答

    下面的代碼是否安全? boost::any any_value; { std::string s = "HelloWorld"; any_value = s; } std::string ss = any_cast<std::string>(any_value);

    7熱度

    2回答

    的內容::我使用了它接受一個void * 我想這個空間的方法外部庫*指向包含升壓中的對象::任何目的。 是否可以獲取boost :: any對象的內容地址? 我想玩myAny.content,但沒有運氣到目前爲止!我希望dynamic_cast或unsafe_any_cast的組合會給我我需要的東西。 謝謝!

    2熱度

    1回答

    看起來好像打電話給boost::any_cast<T>(any&)調用一些昂貴的類型檢查來確保演員表是有效的。具體來說,它會執行以下測試以確保演員表合法: std :: strcmp(operand-> type()。name(),typeid(ValueType).name())== 0 如果轉換是合法的,代碼將執行一個static_cast。 這對於調試模式似乎很有用,但對於生產代碼來說相當慢

    19熱度

    4回答

    例如boost::function移動幾乎完全std::function,同樣是boost::shared_ptr 但我找不到std::any? 是因爲什麼原因被重新命名或者沒有被放入新標準?

    0熱度

    1回答

    我需要幫助試圖檢索在std::list<boost::shared_ptr<boost::any>> 我上一個Singleton Controller類的工作與私人std::list保持數據。客戶端類將能夠通過此Controller類添加/刪除/編輯程序要使用的具體類對象。 使用boost::shared_ptr的原因是因爲我爲每個創建的具體類分配了一個唯一的objID。一旦實例objs被添加到控

    2熱度

    1回答

    首先來定義我們的新函數對象contains_t。它可以繼承自幫助類std :: unary_function(C++標準庫的 部分,旨在便於創建 正確的類型定義)並自動定義參數和結果類型 ,但爲了清楚起見,所需的typedefs是明確提供的 。 參數類型已從const boost :: any &更改爲boost :: any,以避免潛在 引用參考,這是非法的。與以前一樣,這個實現只是 ,只有在這

    2熱度

    1回答

    我想存儲一個boost ::任何類型到一個boost屬性樹。這裏有一些可運行的例子: #include <string> #include <vector> #include <sstream> #include <iostream> #include <sys/types.h> #include <boost/any.hpp> #include <boost/property_tre