initializer-list

    0熱度

    1回答

    我想用C++(11/14)實現fortran的reshape函數,我設計了一個函數。該功能接受兩個std::initializer_list。第一個initializer_list給出了我用來初始化一個D維數組的初始值。第二個initializer_list給出了數組的每個維度的大小。 我寫了一個草案這樣 template<int D, typename T> auto forreshape(c

    3熱度

    4回答

    在C++ 11中,是否有一種DRY方法來爲所有元素構造一個具有相同參數集的數組的所有元素? (例如,通過一個單一的初始化列表?) 例如: class C { public: C() : C(0) {} C(int x) : m_x{x} {} int m_x; }; // This would construct just the first object w

    4熱度

    1回答

    #include <iostream> class vec { public: int arr[2]; }; int main() { vec a = { { 1,2 } };// works vec b = { 1,2 };// works too ,but why ? std::cin.get(); } VEC沒有比默認構造函數構

    -4熱度

    2回答

    我是編程新手,我試圖編寫一個從列表中獲取最短字符串的函數,但每次運行它時,Visual Studio都會顯示錯誤「拋出的異常:讀取訪問衝突」。錯誤在哪裏? #include <iostream> #include <string> using namespace std; const string &shortest_string(initializer_list<string> stri

    0熱度

    1回答

    C++ 11給了我們初始化列表。我已經學會了用含蓄詮釋-擴大值在枚舉值運行時,這些不執行收縮轉換,有時會破壞現有的代碼編譯,例如: enum COMMAND { COMMAND_WRITE_MISC_CONFIG = 0x70 }; struct CommandSettings { quint8 buddy; };

    3熱度

    1回答

    我創建了一個小的異常類。我想要不拋出的構造,但由於某些原因,編譯器告訴我,構造函數可能拋出,儘管「一網打盡」的處理程序: invalid_csv::invalid_csv(size_t r, size_t c, const char * msg) throw() try : std::runtime_error(msg), row(r), col(c),

    -3熱度

    3回答

    我要聲明的座標一類,我試試這個代碼: Coordinate.h: typedef unsigned short Short; class Coordinate { private : Short _row; Short _col; public: Coordinate(Short row, Short col); bool operator ==(c

    3熱度

    2回答

    我對初始化列表有點困惑。 我認爲初始化列表的東西是什麼的C++部分: struct Something { char c0, c1; }; Something something = { 'H', 'W' }; 與陣列等 類推而有一些東西連接(在我眼裏)與STL(在頭<initializer_list>),叫std::initializer_list<T>,它與初始值列表匹配,例如方法參數

    0熱度

    3回答

    如果我有char arr[10][2]; 我該如何初始化它?有多少種方式,哪一種是最好的方式? char arr[10][2] = {""};這是正確的嗎?

    1熱度

    1回答

    我想知道使用std::initializer_list有什麼好處,它的用途是什麼。 我遇到以下:Why is list initialization (using curly braces) better than the alternatives? 和理解的是,「非狹窄」的效果,但我實在看不出它是多麼有益。 我可以發現的另一個好處是初始化時的相對易用性(例如初始化有多個成員的類時),但除此之外我