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