1.8.7 배열용 컨테이너
기존 C 배열의 대안으로 비슷한 방식으로 사용할 수 있는 두 가지 컨테이너 타입을 소개하고자 한다.
1.8.7.1 표준 벡터
배열과 포인터는 C++ 언어의 핵심 부분이다. 반대로 std::vector는 표준 라이브러리에 속하며 클래스 템플릿으로 구현한다. 그럼에도 불구하고 배열과 매우 유사하게 사용할 수 있다. 예를 들어 두 배열 v와 w를 설정하는 1.8.1절의 예제를 벡터로 바꾸면 다음과 같은 코드가 된다.
#include <vector> int main() { std::vector<float> v(3), w(3); v[0] = 1; v[1] = 2; v[2] = 3; w[0] = 7; w[1] = 8; w[2] = 9; }
벡터의 크기는 컴파일할 때 알 필요가 없다. 벡터는 4.1.3.1절에서 볼 수 있듯이 존재하는 동안 크기를 조정할 수도 있다.
요소별로 값을 설정하는 방법은 그다지 좋은 방법이 아니다. C++11에서는 초기화 목록(Initializer List)을 사용해 초기화할 수 있다.
std::vector<float> v = {1, 2, 3}, w = {7, 8, 9};