perfect-forwarding

    0熱度

    1回答

    大家好我有隨動構造函數沒有被調用上我已經創建了一個可變參數添加模板的問題沒有得到優化。 #include <iostream> #include <algorithm> #include <functional> class wrapped_heap_integer{ public: wrapped_heap_integer() : value(nullptr) {

    1熱度

    1回答

    任何人都知道轉發拷貝文件不能工作的原因? 關於作爲矢量和其他堆棧的一種類型的編譯器錯誤? #include "stdafx.h" #include <iostream> #include <vector> #include <type_traits> using namespace std; template<class T> class stack{ public:

    19熱度

    1回答

    (我將這個問題限制在C++ 11中,因爲我相信在C++ 98中沒有這樣做的一般方法)。 假設我有一個複雜的(在簽名計算)設置模板功能和/或重載函數,我想以完全相同的方式來使用這些功能,但使用不同的名稱(即別名)。 例如: template<class A, class B, class C> D fun(A a, B& b, C&& c){ ... } template<class E, c

    6熱度

    1回答

    我已經寫了下面的實現一個通用的信號/槽系統完美轉發: Signal<int> signal; // Case 1 signal(0); //Case 2 int i(0); signal(i); : template< typename... Args > class Signal : NonCopyable { public: typedef std::fun

    11熱度

    1回答

    我有一個函數模板,我想完美轉發到一個lambda,我在另一個線程上運行。這裏是你可以直接編譯一個最小的測試用例: #include <thread> #include <future> #include <utility> #include <iostream> #include <vector> /** * Function template that does perfect f

    0熱度

    1回答

    混合this question和這other question,我已經到了下一個(很簡單的確)解決方案:這個想法是使可用的類型別名只在實際功能的範圍內,並在適當的點檢查模板條件: template<typename... garbage> struct firewall { typedef typename std::enable_if<sizeof...(garbage) == 0

    4熱度

    2回答

    我對功能std::forward_as_tuple有迫切的需求,但我僅限於使用GCC 4.5.0(我知道這是一個不好的情況,讓自己投入,但它會解決很多對我來說是個問題,所以請保持最低限度的暴躁言論)。 <tuple>標題似乎並不包含該功能(因爲它應該),所以我的問題是: 它隱藏在其他標題? (之前已經發生過,但很難確定。) 是否可以推出自己的實施?那就是:是否可以在GCC 4.5.0中實現C++

    3熱度

    1回答

    我一直在切換Template Factory函數以使用(並理解)std :: forward來支持右值並移動語義。我通常用於模板類的樣板工廠函數始終將參數標記爲const: #include <iostream> #include <utility> template<typename T, typename U> struct MyPair{ MyPair(const T& t

    2熱度

    1回答

    此代碼編譯結合 tuple<pair<int,int>,unique_ptr<int>> t({0,0}, unique_ptr<int>()); 原因是第三個叫tuple(const Types&...),但它似乎是一個任意的限制。 C++ 11無法使用可變參數模板來表示它,還是有可能?

    1熱度

    1回答

    我得到一個SFINAE錯誤,下面的代碼,因爲它不會使用模板。我試圖完善前進的結果。任何想法任何人。 #include <iostream> #include "constants.h" namespace perfectforwarding { template<class T, class U> constexpr auto maximum(T&& a, U&&