Computer >> Máy Tính >  >> Lập trình >> C ++

Tại sao mảng có độ dài thay đổi không phải là một phần của tiêu chuẩn C ++?


Phải tạo một mảng lớn tiềm năng trên ngăn xếp, thường chỉ có ít không gian trống, không tốt. Nếu bạn biết trước kích thước, bạn có thể sử dụng một mảng tĩnh. Và nếu bạn không biết trước kích thước, bạn sẽ viết mã không an toàn. Mảng có độ dài thay đổi không thể được bao gồm nguyên bản trong C ++ vì chúng sẽ yêu cầu những thay đổi lớn trong hệ thống kiểu.

Một giải pháp thay thế cho mảng có độ dài thay đổi trong C ++ được cung cấp trong C ++ STL, vectơ. Bạn có thể sử dụng nó như -

Ví dụ

#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;
}

Đầu ra

Điều này sẽ cung cấp đầu ra -

1
2
3
4
5