typetraits

    0熱度

    1回答

    今天我正在更換一個低級別的C時尚方法,它將緩衝區保存到文件中。整個事情是這樣的: bool Profile::save(const char* path) { FILE* pFile = fopen(path, "w"); BOOST_SCOPE_EXIT((pFile)) { fclose(pFile); pFile=NULL; } BO

    1熱度

    1回答

    以下repo試圖獲取std :: tuple並迭代它以輸出與其相關的各種值。 std :: tuple是一個頂點,它的最終用途是在元素上調用glEnableVertexArray和glVertexAttribPointer。 到目前爲止,我已經迭代了元組的類型工作,以及在每個元素的每個元組中找到偏移量。然而我被這個函數卡住了: template<class T> void EmitAttribu

    7熱度

    1回答

    C++ 11引入了統一初始化,它具有禁止隱式縮小轉換的理想功能。例如,int i{2.2}應該是一個錯誤。 不幸的是,出於向後兼容的原因C++ 03,自4.7以來的GCC只給出這些警告。 GCC的documentation表明,這個擴展不SFINAE上下文適用,但它似乎是錯誤的: #include <type_traits> #include <utility> template <type

    0熱度

    1回答

    我具有以下的模板: template<typename T, const char *name_ > struct named { typedef T type; static constexpr const char *name = name_; }; 我想有型性狀其中: 將提取的類型和名稱(2不同)如果參數類型爲「named」 如果參數不同,則會提取原始類型和空字符

    2熱度

    1回答

    爲什麼不是B類與基類A相同? 我知道B是A但A不是B,但如果is_same在這些情況下不返回true,那麼我覺得它的使用是有限的。 是否有一個std函數可以在這種情況下返回true?

    0熱度

    1回答

    我想了解類型特徵的概念。 說,我有一些模板化的類層次像這樣和客戶端功能: template<typename T> class Base { public: //... virtual bool inline isSymmetric() const = 0; }; template<typename T> class ChildrenOperation : public

    3熱度

    2回答

    我做了這些類型的特徵,以確定類型是否是一個動態容器,但最近遇到一個混淆,當一個向量的引用沒有返回true時。 template<typename T> struct is_dynamic_container { static const bool value = false; }; template<typename T , typename Alloc> struct is

    6熱度

    2回答

    爲什麼F不能推導爲proxy()? 它應該是可能的,因爲我限制它 - 僅適用於返回int的函數。 #include <utility> #include <iostream> #include <type_traits> using namespace std; int foo(int bar) { cout << "int" << endl; return 2;

    0熱度

    2回答

    這是一種奇怪的問題,雖然這是很明顯的: 爲什麼在<type_traits>所有模板都必須與typenname和::type前綴/後綴叫什麼名字? 其中一個原因是,當然,前提是沒有模板的typedef喜歡的C++ 0x using啄,允許執行以下操作: template<typename T> using remove_ref = typename std::remove_reference<T>

    2熱度

    1回答

    在Is it possible to figure out the parameter type and return type of a lambda?這個問題中,顯示了function_traits結構的一個很好的實現/ linked。 此性狀結構允許確定 返回類型 函數呼叫類型(即R(Ts ...)) 功能元數 參數類型爲每個參數 但是它不能使用默認參數正常工作。也就是說,只有完整的類型(包