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

C++ 벡터 초기화 방법 총정리: 초보자를 위한 4가지 핵심 기법

C++에서 벡터(vector)는 동적 배열을 손쉽게 다룰 수 있는 STL 컨테이너입니다. 벡터는 다양한 방식으로 초기화할 수 있으며, 상황에 맞는 방법을 선택하면 코드의 가독성과 효율성을 높일 수 있습니다. 이 글에서는 대표적인 4가지 초기화 방법을 예제 코드와 함께 살펴보겠습니다.

1) push_back() 메서드로 벡터 초기화하기

가장 기본적인 방법은 빈 벡터를 선언한 뒤 push_back() 함수를 사용해 요소를 하나씩 추가하는 것입니다.

알고리즘

Begin
    Declare v of vector type.
    Call push_back() function to insert values into vector v.
    Print "Vector elements:".
    for (int a : v)
        print all the elements of variable a.
End.

예제

#include<iostream>
#include <bits/stdc++.h>
using namespace std;
int main() {
    vector<int> v;
    v.push_back(6);
    v.push_back(7);
    v.push_back(10);
    v.push_back(12);
    cout<<"Vector elements:"<<endl;
    for (int a : v)
        cout << a << " ";
    return 0;
}

실행 결과

Vector elements:
6 7 10 12

2) 배열처럼 초기화 리스트로 벡터 생성하기

C++11부터 지원되는 중괄호({}) 초기화 리스트를 사용하면 배열과 유사한 형태로 벡터를 한 번에 초기화할 수 있습니다.

알고리즘

Begin
    Create a vector v.
    Initialize vector like array.
    Print the elements.
End.

예제

#include <bits/stdc++.h>
using namespace std;
int main() {
    vector<int> v{ 1, 2, 3, 4, 5, 6, 7 };
    cout<<"vector elements:"<<endl;
    for (int a : v)
        cout << a << " ";
    return 0;
}

실행 결과

vector elements:
1 2 3 4 5 6 7

3) 다른 벡터로부터 새 벡터 초기화하기

이미 존재하는 벡터의 시작 반복자(begin())와 끝 반복자(end())를 전달하여, 해당 벡터의 모든 요소를 그대로 복사한 새 벡터를 만들 수 있습니다.

알고리즘

Begin
    Create a vector v1.
    Initialize vector v1 by array.
    Initialize vector v2 by v1.
    Print the elements.
End.

예제

#include<iostream>
#include <bits/stdc++.h>
using namespace std;
int main() {
    vector<int> v1{ 1, 2, 3, 4, 5, 6, 7 };
    vector<int> v2(v1.begin(), v1.end());
    cout<<"vector elements:"<<endl;
    for (int a : v2)
        cout << a << " ";
    return 0;
}

실행 결과

vector elements:
1 2 3 4 5 6 7

4) 크기와 초기값을 지정하여 벡터 초기화하기

생성자에 크기와 초기값을 함께 전달하면, 지정한 개수만큼 동일한 값으로 채워진 벡터를 만들 수 있습니다. 예를 들어 vector<int> v(s, 7);은 크기가 s인 벡터를 값 7로 초기화합니다.

알고리즘

Begin
    Initialize a variable s.
    Create a vector v with size s and all values with 7.
    Print the elements.
End.

예제

#include<iostream>
#include <bits/stdc++.h>
using namespace std;
int main() {
    int s= 5;
    vector<int> v(s, 7);
    cout<<"vector elements:"<<endl;
    for (int a : v)
        cout << a << " ";
    return 0;
}

실행 결과

vector elements:
7 7 7 7 7

마무리

지금까지 C++에서 벡터를 초기화하는 네 가지 방법을 살펴보았습니다. 요소를 하나씩 추가할 때는 push_back(), 값을 미리 알고 있다면 초기화 리스트, 기존 벡터를 복제할 때는 반복자 생성자, 동일한 값으로 여러 요소를 채울 때는 크기와 초기값 지정 방식이 각각 유용합니다. 상황에 맞는 방법을 활용해 더 깔끔하고 효율적인 C++ 코드를 작성해 보세요.