Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

เหตุใดอาร์เรย์ความยาวผันแปรไม่ได้เป็นส่วนหนึ่งของมาตรฐาน C ++


ต้องสร้างอาร์เรย์ขนาดใหญ่ที่เป็นไปได้บนสแต็ก ซึ่งโดยทั่วไปจะมีพื้นที่ว่างเพียงเล็กน้อยก็ไม่ดี หากคุณทราบขนาดล่วงหน้า คุณสามารถใช้อาร์เรย์แบบคงที่ได้ และถ้าคุณไม่ทราบขนาดล่วงหน้า คุณจะต้องเขียนโค้ดที่ไม่ปลอดภัย ไม่สามารถรวมอาร์เรย์ที่มีความยาวผันแปรได้ในภาษา C++ เนื่องจากจะต้องมีการเปลี่ยนแปลงครั้งใหญ่ในระบบประเภท

ทางเลือกแทนอาร์เรย์ความยาวผันแปรใน C++ มีให้ใน C++ STL ซึ่งเป็นเวกเตอร์ คุณสามารถใช้เช่น -

ตัวอย่าง

#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