[C++] vector 함수 - size | capacity | resize | reserve

2025. 5. 6. 00:32·C++

★ 개념

함수 설명
size() 벡터에 실제로 저장된 요소 갯수
capacity() 벡터가 재할당 없이 저장할 수 있는 최대 요소 갯수
resize(n) 벡터의 size를 n으로 변경
reserve(n) 벡터의 capacity를 최소 n으로 예약만 함 (요소 갯수는 변하지 X)

 

 

★ 차이점

항목 resize(n) reserve(n)
실제 요소 수 (size) 변경 변경X
용량 (capacity) 필요 시 늘어남 늘어남 (줄어들지 X)
자동 초기화 0 또는 기본값으로 초기화 X
메모리 재할당 필요 시 발생 필요 시 발생
요소 접근 가능 여부 가능 (v[i]) 예약만 했으니까 접근 불가
용도 요소 갯수 변경 성능 최적화를 위한 사전 예약

 

 

★ 예시

#include <iostream>
#include <vector>

int main() 
{
    using namespace std;

    vector<int> v;

    cout << "초기 size: " << v.size() << ", capacity: " << v.capacity() << "\n\n";

    v.reserve(10);
    // 예약만 했으니까, 용량은 10이고, size는 그대로 0임
    cout << "reserve(10) 후 size: " << v.size() << ", capacity: " << v.capacity() << "\n\n";

    v.resize(5);
    // 위에서 예약한 용량 10은 그대로 유지되고, 요소가 0으로 초기화 되었으니까 size는 5가 됨
    cout << "resize(5) 후 size: " << v.size() << ", capacity: " << v.capacity() << "\n\n";

    for (int i = 0; i < v.size(); ++i)
    {
        cout << v[i] << ' ';  // 기본값 0으로 초기화됨
    }
    cout << '\n';

    return 0;
}



'C++' 카테고리의 다른 글

[C++] 주요 vector 함수  (0) 2025.05.06
[C++] array 객체와 vector 객체  (0) 2025.05.06
[C++] 파일 입출력 (.txt 파일)  (0) 2025.05.05
[C++] cin.fail() | cin.clear() | cin.ignore()  (0) 2025.05.05
[C++] 문자열 | string을 전달인자로 하는 함수  (0) 2025.05.02
'C++' 카테고리의 다른 글
  • [C++] 주요 vector 함수
  • [C++] array 객체와 vector 객체
  • [C++] 파일 입출력 (.txt 파일)
  • [C++] cin.fail() | cin.clear() | cin.ignore()
polibo
polibo
Polibo의 개발 성장기 지켜봐주십슈 (콩 싫어해요.)
  • polibo
    Polibo와 개발 콩나무 키우기
    polibo
  • 전체
    오늘
    어제
    • 분류 전체보기 (65) N
      • Python (23)
      • C (32)
        • 본수업 (19)
        • 예습 (7)
        • 개인프로젝트01 - 로또 (3)
        • 개인프로젝트02 - 복켓몬 키우기 (2)
        • 개인프로젝트03 - 김복천국 POS기 (1)
        • 팀프로젝트01 - 용사 복이의 대모험 RPG (0)
        • 팀프로젝트02 - 메일 프로그램 (0)
      • TCP_IP (0)
      • DB (1)
      • C++ (7)
        • 개인프로젝트01 - 숫자야구 (0)
      • QT (1) N
        • 개인프로젝트01 - 숫자야구 (0)
        • 팀프로젝트01 - 키오스크 (1) N
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    while문
    c우선순위
    c언어
    반복문
    if문
    파이썬조건문
    파이썬게임
    파이썬
    c언어 scanf
    Python
    코딩
    C
    파이썬 숫자야구
    for문
    else if
    파이썬반복문
    문자열
    순서도
    조건문
    파이썬예제
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
polibo
[C++] vector 함수 - size | capacity | resize | reserve
상단으로

티스토리툴바