variant

    5熱度

    1回答

    使用std::variant<int, bool>我可以調用std::get<0>(var)來獲取變體中的值,因爲它是第一個類型 - int。 我該怎麼做boost::variant? boost::get<>似乎只支持按類型而不是按索引獲取,我發現文檔很難理解。

    2熱度

    1回答

    我最近更新了gcc和g ++到版本7.2。我想特別嘗試std::experimental::any和std::variant,我在QtCreator中使用Qt 5.9.1。有 #include <variant> #include <experimental/any> 任何工作正常,沒有任何問題: 到目前爲止,我已經在項目文件中這樣寫: CONFIG += c++17 而且我已經在正確的

    0熱度

    1回答

    如果我使用n作爲Variant,但是如果我將n設爲Integer,則會給我「運行時錯誤13類型不匹配」,下面的代碼運行良好。使用Variant有什麼不好嗎?還有其他建議嗎? Sub Update_Yest() Dim tbl As ListObject Dim n() As Variant n = Array(10, 13, 17, 20, 28, 31, 35,

    1熱度

    1回答

    我是新來的,如果我的問題已經被回答,提前抱歉,但我現在搜索了幾天,發現沒有解決方案或解釋呢。 問題是,在一個變種陣列的人口中,內存消耗不斷增加。該陣列的尺寸是,並且當它是第一個尺寸時,我可以看到內存消耗如何增加相應的量。我認爲,一小塊的代碼將更好地解釋它比文字: Sub test() Dim Arr(1 To 1000000, 1 To 10) As Variant Dim i As Long

    0熱度

    1回答

    我不太確定這類數據是否有特殊術語,但概念類似於C++ std::variant(但可能在PostgreSQL中使用類似變體的結構並不理想)。 作爲一個例子,假設我有一個表purchases具有一些列: CREATE TABLE purchases ( purchaseid bigserial, buyerid bigint, name text, ... )

    3熱度

    1回答

    我使用boost :: variant進行存儲,一個可能的數據成員是一個大型結構。所以二進制變體的大小至少是這個結構大小。在我的情況下,所有其他成員都非常小​​,如int或double。 爲了避免基本的大布局,有沒有辦法強制boost :: variant將項目存儲爲指針? 當然,我可以使用智能指針來保存的500個字節 這個大結構,但在這種情況下,得到了Methode也將工作作爲指針訪問..這是不

    3熱度

    2回答

    這裏是我的代碼: #include <iostream> #include <variant> #include <vector> class A { public: virtual void Foo() = 0; }; class B : public A { public: void Foo() override { std::cout <<

    1熱度

    1回答

    我想在Delphi中解析webservice中的結果對象。現在我需要解析一個變體到TXSDateTime,因爲我不知道類型。例如: if propInfo.PropType^ = TypeInfo(TXSDateTime) then begin value := GetPropValue(objects[i], propInfo); //only returns a Variant

    0熱度

    1回答

    我正在嘗試使用std :: aligned_storage來保存數據的對齊變體類型。有沒有一種方法可以用constexpr的方式構建一個對象?我讀過你不能做constexpr安置新的。 #include <iostream> #include <string> struct foo { foo(std::string a, float b) : bar1(a), ba

    13熱度

    1回答

    我正在更新一個代碼庫,目前使用的定製等效物爲std::variant C++ 17。 在代碼的某些部分,該變體正在從已知的替代方法中重置,因此該類提供了一種方法,該方法聲明index()處於當前值,但仍直接無條件地調用正確的析構函數。 這用於一些緊密的內部循環,並具有(測量)不平凡的性能影響。這是因爲它允許編譯器在有問題的替代方法是可破壞類型時消除整個破壞。 從表面上看,我無法通過STL中的當前s