為什麼可變長陣列不是 C++ 標準的一部分?


在通常只有很小可用空間的堆上建立潛在的大型陣列是不好的。如果你事先知道大小,你可以使用靜態陣列。如果你事先不知道大小,你將編寫不安全程式碼。可變長陣列不能原生包含在 C++ 中,因為它們需要型別系統進行巨大的更改。

C++ STL 中提供了 C++ 中可變長陣列的替代方案,即向量。你可以像這樣使用它 −

示例

#include<iostream>
#include<vector>
using namespace std;

int main() {
   vector<int> vec;
   vec.push_back(1);
   vec.push_back(2);
   vec.push_back(3);
   vec.push_back(4);
   vec.push_back(5);
   // ...

   // To iterate over it:
   for(vector<int>::iterator it = vec.begin(); it != vec.end(); it++) {
      cout << *it << endl;
   }
   return 0;
}

輸出

這會給出輸出 −

1
2
3
4
5

更新於: 2020-06-24

415 次瀏覽

職業生涯騰飛

完成課程即可獲得認證

開始
廣告
© . All rights reserved.