자료구조 와 알고리즘/c++

std::array

브랑제리 2022. 4. 23. 19:34

std::array

  • std::array는 고정 크기 배열을 캡슐화하는 컨테이너이다.
  • 원소의 타입과 배열 크기를 매개변수로 사용하는 클래스 템플릿이다.
  • c 스타일 배열처럼 쓸수 있는 []연산자 제공한다.
    • []연산자는 빠른 동작을 위해 전달된 인덱스값이 배열의 크기보다 큰지 작은지 검사를 하지 않는다.
    • at(int index)를 사용할 경우 index 값이 유효하지 않을 경우 std::out_of_range 예외를 발생시킨다.
  • 반복자를 지원한다.
    • 범위기반 (ranged) for문을 사용 할 수 있다.

https://en.cppreference.com/w/cpp/container/array

예제

c 스타일 배열

void array1()
{
	int datas[] = {1, 2, 3, 4, 5};
	int size = sizeof(datas) / sizeof(int); 
	
	// [] 배열 참조
	cout << datas[1] << endl;

	// 반복문
	for (int i = 0; i < size; ++i)
	{
		cout << i << ", ";
	}

	cout << endl;
}

std::array

void array2()
{
	std::array<int, 5> datas = {1, 2, 3, 4, 5};
	
	// [] 배열 참조
	cout << datas[1] << endl;
	cout << datas.at(1) << endl;

	// 반복문
	for (int i = 0; i < datas.size(); ++i)
	{
		cout << datas[i] << ", ";
	}
	cout << endl;

	// 범위기반 반복문
	for (int n : datas)
	{
		cout << n << ", ";
	}

	cout << endl;
}
반응형

'자료구조 와 알고리즘 > c++' 카테고리의 다른 글

std::list  (0) 2022.04.24
std::vector  (0) 2022.04.23