최근에 C 또는 C ++를 작성할 때 Java와 달리 옵션이기 때문에 스택에 모든 변수를 선언합니다.
그러나 스택에 큰 것을 선언하는 것은 나쁜 생각이라고 들었습니다.
- 왜 이럴까요? 스택 오버플로가 관련되어 있다고 생각하지만 그 이유가 명확하지 않습니다.
- 스택의 물건이 너무 많습니까?
100MB 파일을 스택에 넣지 않고 문자열 버퍼 또는 기타로 사용할 수십 킬로바이트 배열을 사용하려고합니다. 스택 사용량이 너무 많습니까?
(중복 된 경우 스택을 검색하면 스택 오버플로에 대한 참조가 계속 발생합니다. 호출 스택 태그조차 없으며 추상 태그 만 사용했습니다.)
std::vector<int>
변수는 많은 스택 공간을 차지하지 않으며 대부분의 데이터는 힙에 있습니다.