variadic-templates

    2熱度

    3回答

    我想檢查類型T是否也是參數包Ts的一部分。在C++ 14中有這樣做的solutions,但是如果這可以在C++ 17中簡化,我就會遊蕩。如果在Ts中找不到T,則應停止編譯器(static_assertion應該失敗)。 template<typename... Ts> class A { template<typename T> void action() { /

    2熱度

    1回答

    我正在研究可變參數模板,我想知道如果我可以做這樣的事情:我會調用任意數量的函數(任意返回類型)與任意數量和類型的參數只需一個電話。我能夠使用的代碼是這樣的: call(f1,f2,f3, 2.2,3); call(f4,f5, 2.2, "Hello", 'a'); 如果函數傳遞可以接受傳遞的參數。 我寫了一個固定數目的要傳遞給函數的參數兼容版本: template<typename T,

    0熱度

    1回答

    我很長時間在使用此可變參數模板。任何人都可以幫助我嗎?我想建立一個能夠調用cmath函數並通過向量傳遞其所有參數的執行程序。請考慮下面的代碼: bool execute(const std::string &functionName, const std::vector<double> ¶ms) { if (functionName == "cos") return execu

    3熱度

    2回答

    我有一個相當於std::integer_sequence(我們還沒有使用C++ 14)。我也有兩個助手類,刪除或添加一個前導號碼。 // Sequence type template <typename Type, Type ... Values> struct Sequence { using

    2熱度

    1回答

    使用C++ 14,我試圖擴展this實現以支持ObserverCallback方法,該方法將在外部調用。 MyClass容器使用元組向量,其類型由可變參數模板指定。訪問矢量然後可以使用訪問< T>()完成。 我需要的是實現一個觀察者,它應該向矢量添加元素。因爲元素的類型可以是任何類型的元組,我已經模板一樣好: template <typename ...T> class Wrapper{ pu

    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 <<

    2熱度

    1回答

    在下面的C++ 14代碼中,我想使用可變參數模板創建一個PossibleTypes容器。接下來,我想用先前指定類型的成員元組創建另一個容器。 這樣做會怎麼樣?我想讓Foo包含一個元組< int,double>,就像主題的模板化類型一樣。 非常感謝提前。 #include <iostream> #include <tuple> #include <type_traits> template

    0熱度

    1回答

    我試圖從傳遞給它的類構造函數的參數類型中推導出一個成員變量的類型。該類的構造函數(PublishSubscribe類)接收兩個參數,每個參數表示可變類型(一個用於發送的可變參數包,一個用於接收)。 我試圖獲取工作的代碼如下: #include <tuple> template <typename... Types> struct TopicTypes {}; TopicTypes<int

    2熱度

    1回答

    爲了傳輸數據,我將int和float值加載到緩衝區。 一些例子: void send_cmd_1(int y, int z, int a, int b) { int buf[5]; buf[0] = 1; // command #1 buf[1] = y; // parameters for command #1 buf[2] = z; buf[

    4熱度

    3回答

    有沒有辦法檢查兩個可變參數包的連接是否與第三個可變參數包相同。 template<typename... Args> struct ClassOne { } template<typename... Args> struct ClassTwo { } template<typename... Args> struct ClassThree { } template<t