variadic-templates

    0熱度

    1回答

    下面的代碼會產生一個巨大的編譯器錯誤的列表: /// Uses template recursion to bind all args template<std::size_t N, typename... Args> class Binder { public: Binder(Sqlite3StatementBase &s, std::tuple<Args...> &tup)

    3熱度

    1回答

    是否有可能將兩個模板類傳遞到模板類中? 我期待創建一個持有兩個不同的類std::tuple<std::vector<>>。 我開始懷疑我想達到的目標無法完成,但是我找不到任何其他的說法。 #include <iostream> #include <vector> #include <tuple> template<typename... Ts> struct Typelist {

    0熱度

    1回答

    我需要定義一個具有由模板類組成的元組的結構。 用法: TestStruct<A, float, float, int32_t> test_a = { std::make_tuple(A(1.0), A(2.0), A(3)) }; TestStruct<B, float, float, int32_t> test_b = { std::make_tuple(B(1.0), B(2.0), B(3

    0熱度

    2回答

    我想在一個可變參數模板中使用一個函數作爲參數,爲什麼下面不起作用?我如何使它工作? template<typename F, typename... Args> F test(F f, const Args&&... args) { return f(std::forward<Args>(args)...); } int simple(int i) { return i; }

    0熱度

    3回答

    我以前這裏的問題Variadic template, function as argument 我已經結束了下面一個簡單的類,但我怎麼使用std ::調用或一些其他方法來調用測試: :用Tester :: simple作爲參數測試? http://en.cppreference.com/w/cpp/utility/functional/invoke#Example提供的例子對我來說不是很有幫助,我

    0熱度

    1回答

    考慮這個簡單的可變參數模板函數,該函數產生一個線程並將該參數轉發給線程函數。 爲什麼我在這裏得到線程構造函數的模板替換失敗? std::thread t; void test3(int& a) { a = 10; } template<class ...Args> void test(Args&&... args) { t = std::thread(test3

    1熱度

    2回答

    當我嘗試運行此玩具示例時,出現不一致的參數包編譯器錯誤。有人可以解釋爲什麼'int a'在這裏被推斷爲int &?在下面的例子中,當我用int文字運行下面的'test'函數時,它工作正常。在此先感謝您的解釋! class Test { public: Test() {} ~Test() { t.join(); } void prin

    0熱度

    2回答

    我(最後)最近聽說可變參數模板。我想知道,如果有一種方法可以讓一個INT - 多項式編譯時間運營商: template <int... coefs> struct polynom {} 哪些coud支持加,一元減號和MUL操作符。 [編輯]:claryfying問題: 甲INT-多項式是基本上一個整數列表(係數): 1 + 2x^2 - 7x^5 <=> (1, 0, 2, 0, 0, -7

    2熱度

    1回答

    我正在嘗試使用C++ 14元編程來查找lambda函數或自由函數是否爲常量。 我目前的策略是在每個參數上使用std::is_reference,std::is_pointer和std::is_const。 (目前,忽略了全局變量...) 使檢查對象類型看起來是這樣的...... template <typename F> struct is_const_func: public function

    0熱度

    2回答

    我有一個可變參數模板類中給出的參數包,並且想要提取第一個類型。 目前我這樣做,它工作正常,但有點麻煩。是否有可能做同樣的事情更簡單?應該將FirstEntityType定義爲EntityTs中的第一種類型。請注意,我想保留類模板的簽名。我知道有可能寫template<typename FirstEntityType, typename... OtherEntityTypes>,但這是我不想做的事情