Computer >> 컴퓨터 >  >> 프로그래밍 >> C++

C++에서 벡터(Vector)의 내용을 출력하는 방법

벡터(Vector)란 무엇인가?

벡터는 동적 배열과 유사하지만, 일반 배열과 달리 크기를 자유롭게 조절할 수 있는 시퀀스 컨테이너입니다. 벡터는 요소의 삽입이나 삭제에 따라 크기가 자동으로 변경되며, 컨테이너(Container)란 동일한 타입의 데이터를 담는 객체를 의미합니다.

벡터는 향후 요소가 늘어나는 것에 대비해 약간의 여분 저장 공간을 미리 할당할 수 있습니다. 또한 벡터의 요소들은 메모리상에 연속적으로 저장되며, 새로운 데이터는 항상 벡터의 끝에 추가됩니다.

예제: 벡터 내용 출력하기

다음은 C++에서 벡터의 내용을 출력하는 예제 코드입니다.

#include<iostream>
#include<vector>

void print(std::vector <int> const &a) {
    std::cout << "The vector elements are : ";

    for(int i=0; i < a.size(); i++)
    std::cout << a.at(i) << ' ';
}

int main() {
    std::vector<int> a = {2,4,3,5,6};
    print(a);
    return 0;
}

실행 결과

위 프로그램을 실행하면 다음과 같은 결과가 출력됩니다.

The vector elements are : 2 4 3 5 6

코드 설명

위 프로그램에서 print() 함수는 벡터의 요소를 가져와 화면에 출력하는 역할을 합니다. for 반복문 안에서는 size() 함수로 벡터의 크기를 계산하여 루프의 최대 반복 횟수를 정하고, at() 함수를 사용해 각 요소를 하나씩 출력합니다.

for(int i=0; i < a.size(); i++)
std::cout << a.at(i) << ' ';

main() 함수에서는 정수형 벡터를 초기화한 뒤, 해당 벡터를 print() 함수에 전달하여 내용을 출력합니다.

std::vector<int> a = {2,4,3,5,6};
print(a);

다른 출력 방법들

인덱스를 사용하는 방법 외에도 벡터의 내용을 출력할 수 있는 다양한 방법이 있습니다.

1. 범위 기반 for 문 (Range-based for loop)

C++11부터 지원되는 범위 기반 for 문을 사용하면 더욱 간결하게 작성할 수 있습니다.

for(int element : a)
    std::cout << element << ' ';

2. 이터레이터(Iterator) 사용

begin()과 end() 이터레이터를 활용하여 벡터의 처음부터 끝까지 순회하면서 출력할 수도 있습니다.

for(auto it = a.begin(); it != a.end(); ++it)
    std::cout << *it << ' ';

이처럼 C++에서는 상황과 취향에 따라 여러 가지 방식으로 벡터의 내용을 손쉽게 출력할 수 있습니다.