Post

[C++] vector란? #11

1. C언어 스타일의 배열

C언어 스타일의 배열은 배열이 사용할 메모리 공간이 이미 정해져 있기 때문에,
배열의 길이를 더 길게하는 등의 작업을 하려면 코드가 매우 복잡해집니다.

2. C++의 vector

C++에서는 메모리 동적 할당과 해제를 자동으로 해주는 간편한 배열이 있습니다.
vector는 자동으로 메모리를 관리해 더욱 편리하게 배열을 사용할 수 있습니다.

1
2
3
4
5
6
7
8
9
10
#include <vector>

int main() {
    vector<int> list;

    list.push_back(1);
    list.push_back(2);

    return 0;
}

위 코드에서 우선 vector를 사용하기 위해선 vector헤더 파일을 포함해야 합니다.
이후 vector를 생성하는 방법은 vector<T>와 같은 방식으로 합니다.
vector<T>T자료형을 원소로 가지는 vector를 의미합니다.

생성된 vector객체에 값을 넣는 때는 push_back()메서드를 사용할 수 있습니다.
따라서 main함수가 종료되기 직전 list의 값을 시각화 한다면,
{ 1, 2 } 가 됩니다.

3. vector의 반복

vectoriterable이라는 특징을 가지고 있어,
반복문을 더 간단하게 작성할 수 있습니다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <vector>
#include <iostream>

int main() {
    vector<int> list;

    list.push_back(1);
    list.push_back(2);
    list.push_back(3);
    list.push_back(4);

    for (int item : list) {
        std::cout << item << " ";
    }

    return 0;
}
1
1 2 3 4 

위 코드는 list의 원소를 item이라는 변수에 담아서 각각 원소를 순차적으로 반복해 출력하는 코드입니다.

This post is licensed under CC BY 4.0 by the author.