C++/C++ STL
-
[C++] STL 컨테이너 멤버 타입 특징C++/C++ STL 2024. 11. 16. 22:11
STL Container 정의STL (Standard Template Library) 컨테이너는 C++ 표준 템플릿 라이브러리에서 제공하는 자료 구조이며, 템플릿 클래스다. 데이터 구조를 효율적으로 사용하고 코드를 단순화하는데 필수적이다. 이를 이해한다면, 더 빠르고 안정적인 프로그램을 개발할 수 있다. STL 컨테이너는 데이터 저장방식과 성능 요구사항에 따라 다음과 같이 분류할 수 있다.- 빠른 임의 접근: std::vector, std::deque- 삽입/삭제가 빈번: std::list, std::forward_list- 정렬된 데이터: std::set, std::map- 빠른 검색:std::unordered_set, std::unordered_map- 특정 구조: std::stack, std::qu..
-
[C++] Concepts 의미와 사용 방법C++/C++ STL 2024. 9. 22. 10:03
Concepts 개요Concepts는 C++20 표준에 처음 등장하였다. 템플릿 프로그래밍에서 제약 조건을 정의하는 기능을 한다. 이를 통해 특정 요구사항을 충족하는지, 컴파일 도중에 확인할 수 있다. 이를 통해, 템플릿을 더 명확하고 안전하게 작성할 수 있도록 도와준다. Concepts 정의Concepts는 Concept 키워드를 사용하여 정의된다. 특정 타입이 특정 요구 사항을 충족하는지 확인하기 위한 boolean 함수와 비슷한 역할을 한다. // Concepts 정의 예제templateconcept EqualityComparable = requires(T a, T b){ {a == b} -> std::convertible_to;}; 위 예시에서 EqualityComparable이라는 Concept..