為什麼可變長陣列不是 C++ 標準的一部分?
在堆疊上建立一個潛在的大型陣列不是個好主意,因為堆疊通常只有很小的可用空間。如果你提前知道了大小,可以使用一個靜態陣列。如果你在提前不知道大小的情況下,將會編寫不安全的程式碼。可變長陣列不能原生包含在 C++ 中,因為它們需要型別系統做出巨大的改變。
C++ STL 中提供了可變長陣列在 C++ 中的替代方案,即 vector。可以使用它,就像 −
示例
#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
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP