[STL] vector에서 [ ]과 at( ) 차이점

#C-Family

vector 배열에서 원소 값을 참조하는 두 가지 방법의 차이점


vector

C++ 표준 템플릿 라이브러리 (Standard Template Library, STL) 에서 vector는 STL의 연속 컨테이너로 메모리를 자동으로 할당해주는 편리한 기능을 제공한다.

vector 선언과 초기화

크기가 10이고 원소 값이 모두 1인 vector를 만들었다.

#include <iostream>
#include <vector>
 
int main() {
	// 크기가 10이고 원소 값이 모두 1인 vector 선언
	std::vector<int> v(10, 1);
}

vector 원소 참조

vector 원소에 참조하는 방법은 두 가지가 있다

1. [ ] 방식

2. .at( ) 방식

#include <iostream>
#include <vector>
 
int main() {
	// 크기가 10이고 원소 값이 모두 1인 vector 선언
	std::vector<int> v(10, 1);
 
	std::cout << v[1] << std::endl; // 1 출력
	std::cout << v.at(2) << std::endl; // 1 출력
 
	// 원소 값 변경의 두 가지 방식
	v[1] = 2;
	v.at(2) = 2;
 
	std::cout << v[1] << std::endl; // 2 출력
	std::cout << v.at(2) << std::endl; // 2 출력
}

위와 같이 vector에서 원소 값에 접근하는 방식은 두 가지가 있다. 이전까지는 두 가지 방식의 차이점을 모르고 기분 내키는 대로 아무거나 가져다가 사용했다.