stdarray

    0熱度

    1回答

    我想在我的程序std::array更換std::vector,所以我去測試: template<typename T> class A{ public: void sub_run(T w){ w[0] = 0.5; w[1] = 1.5; w[2] = 2.5; w[3] = 0.0; for (int i = 0;

    0熱度

    3回答

    在以下代碼中,我需要將std::array的大小作爲函數參數。我首選std::array至std::vector,因爲容器的大小不應該改變。但是,編譯器抱怨爲error: ‘n’ is not a constant expression。如何通過函數參數獲取數組的大小? main.cpp中: #include <iostream> #include <array> using namespa

    8熱度

    2回答

    在下面的代碼中,函數(foo)參數(std::vector)的大小可以是使函數成爲通用函數的任何東西。但是,有時大小容器已知,因此可以使用std :: array。問題是將std::array轉換爲std::vector。解決這個問題的最好方法是什麼?總是在這種情況下使用std::vector是否更好? #include <iostream> #include <array> #include

    0熱度

    2回答

    在C中,你可以做int a[] = {1,2,3,4,5},但是C++ 11 std::array<int> a = {1,2,3,4,5}會給出「太少的模板參數」編譯錯誤。任何方式在這個?

    3熱度

    2回答

    我有一個代碼,在函數的結尾,我需要從int中強制轉換數組,以便在退出該函數之前能夠執行最後的push_back操作,以便將數組的所有元素加倍。我現在所擁有的代碼是: template <class T, size_t dims> class A { typedef typename std::array<int, dims> ArrayInt; typedef typename

    10熱度

    1回答

    #include <iostream> #include <array> int main(int argc, char **argv) { constexpr const std::array<int, 2> arr {{ 0, 1 }}; constexpr const int arr2[] = { 0, 1}; static_assert(arr[0]

    37熱度

    4回答

    考慮下面的代碼段,這是通過C++編譯器11完全可以接受的: #include <array> #include <iostream> auto main() -> int { std::array<double, 0> A; for(auto i : A) std::cout << i << std::endl; return 0; } 根據標準§23

    2熱度

    1回答

    如何將默認值賦予std ::數組?例如,像 void f(std::array<int, 3> pt = std::array<int, 3>{0, 1, 2}); 在檢查與有用的評論。我認爲這是由於編譯器。如何在VS 2012中處理它而不創建像std::array<int, 3> MakeArray(...)這樣的函數?

    1熱度

    2回答

    我對C++相當陌生。我試着實現一個非常簡單的哈希表,然後我想看看我的哈希算法是否將元素放在正確的位置。然而,顯然元素甚至沒有添加到陣列全天: void add(string str, array<string, 2000> data) { int i = makeHash(str) % data.size(); while (data[i++ % data.size()].c

    1熱度

    4回答

    我是新來的std :: array。我必須創建這個功能 void foo(std::array < std::array <double, a>& , b> & previous) 其中a和b是兩個固定的整數值。 我該怎麼辦? 預先感謝您!