블로그 이미지
다엄
잘해야지

calendar

1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30

Notice

    '인덱스 접근'에 해당되는 글 1

    1. 2010.09.28 vector에서 push_back()과 인덱스[i] 사용 시 주의할 점.
    2010. 9. 28. 19:49 Programming/C++
    
    vector를 사용하면서 item 추가 시, 흔히 사용하는 방법은 push_back()이다.
    그러나 배열과 같이 직접 접근할 수도 있다. 예를 들면 vec[0] 이런식.

    push_back()은 vector를 정의하고 난 후 따로 메모리를 잡지 않아도 item을 추가할 수 있다. ex) vec.push_back(item);
    그러나 인덱스로 접근해서 item을 저장하고자 할 경우, item의 개수를 선언해서 메모리를 미리 정해 줘야만 한다. 그렇지 않으면 실행에러가 생긴다.
    만약, 처음에 벡터의 사이즈를 정해주지 못했다면, 나중에 resize() 함수를 통해 재조정할 수도 있다.

    즉, 위의 말을 코드로 정리하면 아래 코드와 같다. 
    vector<int> vec;
    vec[0] = 3; (X) <--  vec 객체의 메모리를 할당하지 않았기 때문에 실행 에러남. 
    vec.push_back(3); (O)
    ---------------------------------------------
    vector<int> vec(4); <-- vec 객체에 4개의 item에 대한 메모리를 정해줌.
    vec[0] = 3; (O)      <--- 인덱스 접근은 OK.
    vec.push_back(2); (O)
    posted by 다엄
    prev 1 next