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