본문 바로가기
Programming

C++ 벡터(Vector) 초기화

by 느리게 걷는 즐거움 2024. 6. 5.
반응형

C++ 벡터(Vector) 초기화

벡터는 동적 배열을 구현한 STL(Standard Template Library) 컨테이너로, 크기를 유연하게 조절할 수 있는 장점이 있습니다. 벡터를 효과적으로 초기화하는 방법을 잘 이해하면 코드를 더 간결하고 효율적으로 작성할 수 있습니다.

기본 생성자

가장 기본적인 방법은 기본 생성자를 사용하는 것입니다. 이 방법은 빈 벡터를 생성합니다.

#include <vector>
std::vector<int> vec;

크기와 초기값을 지정하여 초기화

벡터의 크기와 모든 요소의 초기값을 지정하여 초기화할 수 있습니다.

#include <vector>
std::vector<int> vec(10, 0); // 크기 10, 초기값 0인 벡터 생성

이 경우, 벡터는 10개의 요소를 가지며, 모든 요소는 0으로 초기화됩니다.

초기값 리스트를 사용한 초기화

C++11부터 지원되는 방법으로, 중괄호를 사용하여 벡터를 초기화할 수 있습니다.

#include <vector>
std::vector<int> vec = {1, 2, 3, 4, 5};

 

이 방법을 사용하면 벡터는 {1, 2, 3, 4, 5}로 초기화됩니다.

다른 벡터로부터 초기화

기존 벡터를 사용하여 새로운 벡터를 초기화할 수 있습니다.

#include <vector>
std::vector<int> vec1 = {1, 2, 3, 4, 5};
std::vector<int> vec2(vec1); // vec1을 복사하여 vec2를 생성

 

또는 범위를 지정하여 초기화할 수도 있습니다.

#include <vector>
std::vector<int> vec1 = {1, 2, 3, 4, 5};
std::vector<int> vec2(vec1.begin(), vec1.begin() + 3); // vec1의 처음 3개 요소로 vec2를 초기화


반복자를 사용한 초기화

반복자(iterator)를 사용하여 벡터를 초기화할 수 있습니다. 다른 컨테이너의 요소를 사용하여 벡터를 초기화할 때 유용합니다.

#include <vector>
#include <list>

std::list<int> lst = {1, 2, 3, 4, 5};
std::vector<int> vec(lst.begin(), lst.end()); // list의 모든 요소로 벡터 초기화

fill을 사용한 초기화

C++11부터는 `std::fill`을 사용하여 벡터를 특정 값으로 채울 수 있습니다.

#include <vector>
#include <algorithm>

std::vector<int> vec(10);
std::fill(vec.begin(), vec.end(), 1); // 벡터의 모든 요소를 1로 채움

assign을 사용한 초기화

벡터의 `assign` 메서드를 사용하여 벡터를 초기화할 수 있습니다.

#include <vector>

std::vector<int> vec;
vec.assign(5, 10); // 크기 5, 모든 요소가 10인 벡터로 초기화

 

결론

벡터를 초기화하는 방법은 다양하며, 상황에 맞게 적절한 방법을 선택하면 됩니다. 기본 생성자부터, 초기값 리스트, 반복자, `assign` 등을 사용한 방법까지, 벡터를 효과적으로 초기화하는 방법을 잘 이해하고 활용해보세요. 이를 통해 더 읽기 쉽고 유지보수하기 쉬운 코드를 작성할 수 있을 것입니다.

반응형

'Programming' 카테고리의 다른 글

MongoDB와 SQL: 명령어 비교  (0) 2024.06.09
C++ 람다 함수  (0) 2024.06.07
__VA_ARGS__ 가변인자  (0) 2024.06.05
우분투에 Doxygen 설치 방법  (0) 2024.06.05
PATH, 환경변수 추가 - 리눅스  (0) 2024.06.04