C++ STL에 관한 (잠재적으로 멍청한) 질문이 있습니다. 컨테이너 (vector, set, map 등)를 만들면 스택이나 힙에 할당됩니까? 세트를 만들고 5 백만 개의 문자열을 넣으면 스택 오버플로에 대해 걱정해야합니까?C++ STL 질문 : 할당 자
6
A
답변
9
STL 클래스는 기본적으로 힙에서 내부 버퍼를 할당합니다. 이러한 클래스는 사용자가 할당 할 대체 위치를 지정할 수있는 사용자 정의 할당자를 허용합니다. 공유 메모리 풀
3
STL 컨테이너의 기본 할당자는 new 연산자와 delete 연산자를 사용하므로 포함될 유형에 대한 경로는 무엇이든 상관 없습니다. (대체로 무언가를 무시하기 전까지는 힙에서 온 것입니다.)
5 백만 개의 문자열을 할당하면 스택 오버 플로우가 발생하지 않습니다. 스택 기반 할당자를 만들었더라도 한 문자열을 삽입하기 전에 오버플로가 발생할 수 있습니다.
0
컨테이너 자체는 스택, 힙, 개체 멤버 등이 될 수 있지만 기본적으로 설명 된 다른 설명대로 사용 가능한 메모리는 무료 저장소 (관리되는 new 및 delete) (malloc/free를 통해 관리되는) 힙과 동일하지 않습니다.
관련 문제
- 1. C++ STL 준수 할당 자
- 2. C++ STL 메모리 할당 자 컴파일 오류
- 3. STL 벡터와 함께 STL 할당 자 사용
- 4. C++ 힙 할당 자 및 STL 조각 모음
- 5. C++ 용 확장 래퍼 malloc 할당 자 STL
- 6. C++에서 stl :: map의 오버로드 할당 자 및 deallocator
- 7. C++ : 메모리 할당 자
- 8. 효율적인 C 풀 할당 자?
- 9. 다른 메모리 공간을 관리하는 STL 사용자 지정 할당 자
- 10. STL C++ 객체에 의한 메모리 할당
- 11. STL 벡터 할당
- 12. 잘못된 할당 자 구현
- 13. 작은 객체 할당 자
- 14. C# 능통 자 NHibernate 질문
- 15. C# 범위/입력/할당 질문
- 16. 부 메모리 할당 질문 C++
- 17. stl 벡터 할당 대 삽입
- 18. C++ STL 질문 삽입 반복자 및 오버로드 된 연산자 관련이
- 19. STL 정렬 질문
- 20. 게임 엔진 용 할당 자
- 21. 자 NSPredicate 아이폰 질문
- 22. C# 프로그래밍 스타일의 질문 - 실시간 할당
- 23. C++ 할당, 건설 및 파기 질문
- 24. C++ 메모리 할당 및 삭제에 관한 질문
- 25. 벡터 관련 C++ 메모리 할당 질문
- 26. C++ 메모리 할당 질문 배열을 만들려고
- 27. 또 다른 STL 트리 질문
- 28. STL 컨테이너 할당 및 CONST 포인터
- 29. 곱하기 정의 된 표준 할당 자
- 30. Windows 메모리 할당 질문