C++ 복합 데이터 - std-array

진경천·2023년 9월 11일
0

C++

목록 보기
15/90

std-array

< array > 헤더파일내의 함수이며 std::array로 선언한다.
array<자료형, 크기>의 형태를 띈다.

#include <iostream>
#include <array>

using namespace std;

int main() {
	array<int, 5> arr0{0, 1, 2, 3, 4};
	array<int, 5> arr1{4, 3, 2, 1, 0};	
	array<int, 5> arr2{};				// 중괄호를 비워두면 모든 원소가 0으로 초기화
	cout << "arr[0] : " << arr0[0] << endl;
	cout << "arr.at(1) : " << arr0.at(1) << endl;
	cout << "arr.size() : " << arr0.size() << endl;	//크기
	cout << "arr.front() : " << arr0.front() << endl;	// 맨앞 원소 (arr[0])
	cout << "arr.back() : " << arr0.back() << endl;		// 맨뒤 원소 (arr[sizeof(arr) - 1]);

	if (arr0 == arr1)
		cout << "Equal" << endl;
	if (arr0 > arr1)
		cout << "Bigger" << endl;
	if (arr0 < arr1)
		cout << "Smaller" << endl;
	// 첫번째항부터 비교해서 같으면 다음 원소를 비교하며 크고 작음을 구분한다.

	arr0.swap(arr1);
	for (int i = 0; i < 5; i++) {
		cout << "arr0 " << i << " = " << arr0[i] << " | ";
		cout << "arr1 " << i << " = " << arr1[i] << endl;
	}
	// 값이 바뀐것이 확인된다
	// 두 배열의 크기가 같으면 arr0 = arr1 과 같이 할당을 하는 것도 된다.
	
	return 0;
}
  • 코드 실행 결과

    arr[0] : 0
    arr.at(1) : 1
    arr.size() : 5
    arr.front() : 0
    arr.back() : 4
    Smaller
    arr0 0 = 4 | arr1 0 = 0
    arr0 1 = 3 | arr1 1 = 1
    arr0 2 = 2 | arr1 2 = 2
    arr0 3 = 1 | arr1 3 = 3
    arr0 4 = 0 | arr1 4 = 4

비교, 할당은 두 배열의 크기가 같을 때만 할 수 있다.

profile
어중이떠중이

0개의 댓글