인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

닌긴디님의 프로필 이미지
닌긴디

작성한 질문수

[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문

강사님 벡터 capacity 메모리 관점 질문입니다

해결된 질문

작성

·

115

0

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!
- 먼저 유사한 질문이 있었는지 검색해보세요.
- 서로 예의를 지키며 존중하는 문화를 만들어가요.
- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.


벡터의 capacity가 늘어날때마다 기존의 데이터를 재할당시킨다는 것은
조사식을 통해 &v[0]의 주소값이 변하는 걸로 확인했습니다.
 
여기서 질문입니다.
 
1. 벡터의 capacity 늘릴때 뒷부분에 의미없는 데이터 공간이 있어서 여유 공간이 있으면
재할당 안하고 원래 있던 위치에서 더 확장하는 방식도 있나요?
(제가 디버깅할땐 해당 메모리주소값이 다 변했습니다)
 
2. vector<int> v; 선언했을때
&v랑 &v[0]랑 주소값이 왜 다른건가요?
 
 

답변 1

0

Rookiss님의 프로필 이미지
Rookiss
지식공유자

1.
의미없는 데이터 공간이라는게 뒷부분이 메모리 할당이 안된 상황을 말씀하시는거라면
가능성이 있지만 이는 C++ 표준에서 어떻게 하라 명시되는 부분이 아니니 vector구현마다 다를 수 있습니다.

2.
&v는 vector v 변수 자체의 주소고
&v[0]는 [동적할당된 데이터들 중 첫번째 데이터의 주소]니 엄연히 다릅니다.

닌긴디님의 프로필 이미지
닌긴디

작성한 질문수

질문하기