decltype

    0熱度

    1回答

    的例子考慮下面的代碼: // get the return type of == for T1 and T2 template<typename T1, typename T2> using equals_op_type = decltype(std::declval<T1>() == std::declval<T2>()); template <class Container1, cla

    18熱度

    1回答

    我不明白,爲什麼下面的代碼編譯的GCC 8.0: decltype(auto) foo(int&& r) { return r; } 在foo的r申報類型爲int&&,等的foo返回類型也int&&。但r本身是一個左值,並且左值不能綁定到右值引用。 我錯過了什麼嗎?

    2熱度

    1回答

    我的問題是由下面的例子示出: #include <vector> template <class T> class TestNest{ public: std::vector<T> m_list; class InsideNest{ const TestNest<T>* m_test; decltype(m_tes

    0熱度

    1回答

    我有一個問題,如果有,是落實decltype關鍵字功能預先C++ 11的方式。 我有一個簡單的類向 template <class T> struct MyVector { typedef T ElementType; T* arrayPtr; uint64_t numberOfElements; }; 我希望能夠得到一個通用宏的T類型,這將是使用這個My

    0熱度

    1回答

    的存在我本來想它是否有或沒有const修飾聲明一個類中的演繹。正如你們許多人指出的那樣,它是被聲明爲const(而不是類)的變量本身。感謝您澄清這一點。現在的錯誤信息對我完全有意義。所以,這更多的是設計問題。 我想要的是一個結構,其行爲像一個隨機存取容器,並提供一些功能,如iterator begin(){...},const_iterator cbegin(){...},特別是value_typ

    1熱度

    1回答

    我正在閱讀main json11 header file的源代碼。 它包含以下聲明: template <class T, class = decltype(&T::to_json)> Json(const T & t) : Json(t.to_json()) {} 我試圖找到這種用法的decltype和class模板聲明,但沒有成功裏面的一些文件。 這個構造/用法在C++中有一個名字嗎?有

    11熱度

    1回答

    如果我理解正確this answer和參考標準節[dcl.type.auto.deduct-5],代碼: decltype(auto) a = e; 總是等同於 decltype(e ) a = e; 但現在的問題出現,如果不是的e我把lambda表達式decltype(auto) : decltype(auto) lambda = [](){}; 本編譯,令我驚訝的是,在gcc和cl

    7熱度

    1回答

    #include <functional> #include <sys/types.h> #include <sys/socket.h> std::function<decltype(::bind)> mockbind = ::bind; int main() { } 上面的代碼可以在我編譯的大多數平臺上工作。但在自定義g的Ubuntu 14.04 ++ - 7我得到一個錯誤

    1熱度

    1回答

    我試圖獲得關於iterator_traits的更好的知識,並在C++教科書上找到了一小段代碼。所以我添加了一些代碼來使其可執行,目的是理解所述編譯時機制的行爲。完整的程序看起來像這樣: template<typename C> using Iterator_type = typename C::iterator; template<typename Iter> using

    0熱度

    1回答

    你能給我一個提示,如何使這段代碼工作,因爲我想要它?我想derived_t爲Derived,但它總是Base。 #include <iostream> #include <string> #include <memory> struct Base { virtual std::string me() { return "Base"; } }; struct Derived