C++ 23

STL 컨테이너 - vector

vector C++의 표준 라이브러리(STL, Standard Template Library)에 포함된 동적 배열 컨테이너입니다. 이는 크기가 고정된 배열과는 달리, 필요에 따라 크기가 자동으로 조정되며 요소를 추가하거나 제거할 수 있습니다.  vector의 정의와 vector관련 함수를 사용하기 위해서는 헤더파일을 추가해야합니다. 해당 헤더파일을 추가하면 std 네임스페이스를 통해 vector를 사용할 수 있습니다. std::vector 주요 특징동적 크기 조정초기 크기를 정하지 않거나, 정한 크기를 초과하여 요소를 추가해도 자동으로 크기를 늘려줌.크기 조정은 메모리 재할당을 통해 이루어짐.임의 접근 (Random Access)배열처럼 인덱스를 통해 O(1) 시간 복잡도로 요소에 접근 가능.유연한 메..

STL 컨테이너 - array

array C++에서 std::array는 **STL(Standard Template Library)**에서 제공하는 컨테이너 중 하나로, 고정 크기의 배열을 다루기 위한 템플릿 기반 컨테이너입니다. 기존의 C 스타일 배열보다 안전성과 유용한 메서드를 제공하며, 컴파일 타임에 크기가 고정됩니다.1. std::array의 특징정적 크기:배열 크기는 컴파일 타임에 결정되며, 런타임에는 변경할 수 없습니다.안전성:경계 검사 함수(at())를 제공하여 배열 인덱스 초과 오류를 방지.연속된 메모리:내부적으로 기존 C 스타일 배열처럼 연속된 메모리를 사용.포인터를 활용한 작업이 가능하며 다른 표준 라이브러리와 잘 통합됩니다.성능:C 스타일 배열과 거의 동일한 성능을 제공합니다.추가 기능:STL 컨테이너로서 크기, ..

STL 컨테이너 - map

map**키(Key)와 값(Value)**의 관계를 기반으로 데이터를 저장하고 검색하는 기능을 제공합니다. std::map은 연관 배열(associative array) 또는 연관 컨테이너로 불리며, 내부적으로는 이진 검색 트리 또는 **레드-블랙 트리(Red-Black Tree)**를 사용하여 데이터의 삽입, 삭제, 검색 등의 연산을 효율적으로 처리합니다. std::unordered_map과 헷갈린다면 아래 글에서 둘의 차이를 확인하세요.https://coding-potato-record.tistory.com/268 STL 컨테이너 - unordered_mapunordered_map**STL(Standard Template Library)**에서 제공하는 연관 컨테이너로, 키-값 쌍(Key-Value ..