constexpr

    12熱度

    1回答

    有沒有辦法在編譯時打印constexpr或#define d值的值?我想的std::cout <<相當於或某種方式做這樣的事情 constexpr int PI_INT = 4; static_assert(PI_INT == 3, const_str_join("PI_INT must be 3, not ", const_int_to_str(PI_INT))); 編輯:

    4熱度

    1回答

    我正在尋找一個靜態大小的valarray實現。 自己應該很容易實現它,但我需要constexpr操作(sum,subtraction等),這有點乏味/容易出錯,所以我問這裏是否有一個流行的實現。 如果我必須自己實現這個,那麼在這種情況下,你認爲表達式模板是否值得?

    2熱度

    1回答

    簡化版 class C { public: static constexpr std::array<C, 2> foo {{"1"_C, "2"_C}}; int x; constexpr C(char c) { x=c; } } constexpr C operator"" _C(const char * str, size_t n) { return C(*str); } 這並

    8熱度

    1回答

    時間反射我有一個下面的結構: struct Data { std::string firstMember; std::string secondMember; std::string thirdMember; }; 我想選擇由字符串名constexpr方式的成員之一,像 Data instance; auto& member = getMember(inst

    98熱度

    1回答

    如果我在一個函數內部有一個變量(比如說一個大數組),那麼聲明它是否合理static和constexpr? constexpr保證數組是在編譯時創建的,那麼static就沒用了? void f() { static constexpr int x [] = { // a few thousand elements }; // do something wit

    11熱度

    3回答

    同時瀏覽constexpr上的一箇舊問題我偶然發現了一個非常重要的評論。 基本上它歸結爲: (這是合法的C++ 11 :() constexpr double f(bool b) { return b? 42:42/(rand()+1); // how pure is rand ;) } 我的問題是什麼,這是標準允許的原因因爲即時通訊引用透明的忠實粉絲,我希望。他們有一個很好的理由:),

    17熱度

    4回答

    我想使用constexpr填充枚舉數組。 數組的內容遵循一定的模式。 我有一個枚舉分隔ASCII字符集爲四個類別。 enum Type { Alphabet, Number, Symbol, Other, }; constexpr Type table[128] = /* blah blah */; 我想擁有128 Type的數組。他們可以在一個結

    1熱度

    1回答

    常數初始化是什麼在以下方面的區別: #include <iostream> using namespace std; int get_value(int value){ return 3 * value; } int main(int argc, const char * argv[]) { const int a = 5; const int b

    177熱度

    4回答

    以下定義有區別嗎? const double PI = 3.141592653589793; constexpr double PI = 3.141592653589793; 如果不是,哪種風格在C++ 11中是首選?

    7熱度

    2回答

    以下程序將調用樂趣 2 ^(MAXD + 1)次。儘管(如果我的想法是正確的話),最大遞歸深度不應該超過MAXD。因此編譯可能需要一些時間,但它不應該吃我的RAM。 #include<iostream> const int MAXD = 20; constexpr int fun(int x, int depth=0){ return depth == MAXD ? x : fu