C++의 가변 길이 배열에 대한 질문 #11
-
기존에 C를 학습할때는 C90의 POSIX 표준 환경에서 학습을 진행했어서 C++의 몇가지 개념들이 헷갈립니다. C++에서 가변 길이 배열에 대해 알아보던 중, 벡터 컨테이너와 동적 할당으로 만들어진 배열과 어떠한 차이가 있는것인지 명확하게 이해가 가지 않습니다. GCC 문서에 따르면 C++의 표준이 아닌 C99의 확장 문법과 C11의 선택 구현사항이 적용되는것으로 이해했습니다.
해당 부분에 대한 설명이나 참고할 만한 자료가 있다면 부탁드립니다. |
Beta Was this translation helpful? Give feedback.
Replies: 3 comments 1 reply
-
1번은 아는게 없고요.. |
Beta Was this translation helpful? Give feedback.
-
일단 Stack에 저장된다는 사실은 찾았습니다. 또한 권장되지 않는 방법이라는것도요. 그렇다면 컴파일단에서 함수 Stack의 공간을 어떻게 예측하는지 감이 오지 않습니다. 해당 부분에 대해서 추가적으로 궁금합니다. |
Beta Was this translation helpful? Give feedback.
-
찾아 본 결과 Stack에 고정크기로 공간을 잡아두고 사용하는 방식이라고 합니다. 실제로 동적 할당이 되지 않는다고 하네요. :( |
Beta Was this translation helpful? Give feedback.
찾아 본 결과 Stack에 고정크기로 공간을 잡아두고 사용하는 방식이라고 합니다. 실제로 동적 할당이 되지 않는다고 하네요. :(
따라서 메모리가 효율적이지도 못하고, 스택 오버플로우의 문제가 발생할 가능성이 있다고 합니다.
이러한 문제 때문에 필수 구현사항에서 선택 구현 사항으로 변경되었고, 사용이 지양되는 문법이라고 보면 될 듯 합니다.