constexpr

    4熱度

    1回答

    在項目中,我有很多需要有枚舉成員和枚舉類型相關的輔助靜態方法相關的附加屬性枚舉。 盡我所知,這是不可能與標準枚舉類MyItem {...},所以對於我的項目中的每個枚舉類,我有一個輔助類MyItemEnum封裝這些輔助靜態方法,也實例的本身輔助的情況下,這樣我就可以訪問,以獲得額外的屬性,他們的方法。 婁一個例子(簡化儘可能但相信所有功能將要討論在那裏呆)。 MyItem.h enum class

    1熱度

    1回答

    考慮下面的代碼: #include <iostream> #include <type_traits> template<typename Type> class Test { public: constexpr Test(const Type val) : _value(val) {} constexpr Type get() const {retur

    25熱度

    2回答

    我目前正在用constexpr構造函數創建一個類,我想知道是否可以使用std::array來存儲此類的數據。標準是否明確指定std::array有一個constexpr構造函數,並且它的內容可以在編譯時被訪問?

    9熱度

    3回答

    有人能告訴我何時文字類需要C++? 我從constexpr構造函數,constexpr成員有點困惑,我看不出有什麼重點。我希望看到它的一些實際用途。我 想也想知道,如果一個設置成員函數必須constexpr,即: constexpr void set_num(int a) { num = a; }

    13熱度

    1回答

    對於以下代碼 #include <array> template<unsigned MaxP, typename type> struct kernel { static constexpr unsigned max_pole(unsigned P) { return P>MaxP? MaxP:P; } template<unsigned P> u

    4熱度

    2回答

    我正在玩constexpr遞歸一點點,並嘗試看看它是如何編譯的,我不明白gcc選擇在編譯時或運行時計算遞歸。 我用下面的計算階乘代碼: #include <iostream> constexpr unsigned int factorial(unsigned int i) { return i > 0 ? i*factorial(i-1) : 1; } int main(vo

    2熱度

    1回答

    我想捕獲編譯時間傳遞給模板類型的函數的常量整數。未來的目標是推出我自己的(非常有限的)表達式模板,該模板從非常簡單的表達式(編譯時間常量int和變量之和)創建表達式,例如:-2 * i + 3 * k。 我開始很慢,我有以下代碼:2 struct Foo { Foo (int i) : i_(i) {} int i_; }; template <int N> int o

    7熱度

    3回答

    更新:我下面貼 我自己的答案,並有此事更長的版本在這裏:http://scrupulousabstractions.tumblr.com/post/38460349771/c-11-type-safe-use-of-integer-user-defined-literals 問: 我我做了一個簡單的constexpr用戶定義文字_X,它獲得了一個無符號長long值(這就是數字用戶定義的文字的工作方

    8熱度

    2回答

    是否可以爲constexpr變量分配一個唯一地址,即對於變量可用的所有翻譯單元(通常是通過標頭)是否都是相同的?考慮下面的例子: // foo.hh #include <iostream> constexpr int foo = 42; // a.cc #include "foo.hh" void a(void) { std::cout << "a: " << &foo << std:

    4熱度

    3回答

    C++世界中有沒有什麼能夠讓我試圖做到的事情成爲可能? template < typename T , size_t Size > struct array { constexpr T buf[Size]; constexpr size_t size() const { return Size; } }; template < typename T