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++ 코드를 작성해 보세요.