Modern C++ : std::min, max, equal, any_of, all_of, none_of (98, 11, 17)
std::min, max, equal, any, all, none 개요C++ 표준 라이브러리는 컨테이너의 원소를 검색하고 비교하는 데 유용한 다양한 알고리즘을 제공합니다. 이 문서에서는 특정 조건을 만족하는 원소를 찾거나, 두 범위를 비교하는 데 사용되는 std::min, std::max, std::equal, std::any_of, std::all_of, std::none_of 함수에 대해 설명합니다. C++ 버전별 주요 키워드 도입 시기C++98: std::min, std::max, std::min_element, std::max_element, std::equalC++11: std::any_of, std::all_of, std::none_ofC++17: 병렬 실행 정책(std::execution)을..
2025. 9. 12.
Modern C++ : std::remove, std::sort, std::replace (98, 20)
std::remove, std::sort, std::replace 개요C++ 표준 라이브러리에서 제공하는 std::remove, std::sort, std::replace 계열 함수들은 컨테이너의 원소를 정렬하거나, 특정 조건에 맞는 원소를 바꾸거나, 제거하는 데 사용되는 강력한 도구입니다. 이 함수들을 사용하면 복잡한 반복문 없이도 간결하고 효율적인 코드를 작성할 수 있습니다. C++ 버전별 주요 키워드 도입 시기C++98: std::sort, std::replace, std::replace_if, std::remove, std::remove_ifC++20: std::erase, std::erase_if (컨테이너용 비멤버 함수) 내용 설명std::sort: 지정된 범위의 원소들을 오름차순 또는 사용자..
2025. 9. 11.
Modern C++ : Lambda Expressions (11, 14, 17, 20)
Lambda Expressions 개요C++ 람다 표현식은 이름 없는 함수 객체를 간결하게 생성할 수 있는 기능입니다. 람다는 코드 내에서 인라인으로 함수 객체를 정의할 수 있게 해주며, 특히 알고리즘과 함께 사용할 때 유용합니다. C++ 버전별 주요 키워드 도입 시기C++11: 기본 람다 표현식 도입C++14: 일반화된 람다 캡처, 반환 타입 추론 개선C++17: constexpr 람다, *this 캡처C++20: 템플릿 람다, [=, this] 명시적 캡처 경고 제거 내용 설명기본 구문[캡처](매개변수) -> 반환타입 { 함수 본문 }캡처 모드[=]: 값으로 모든 외부 변수 캡처[&]: 참조로 모든 외부 변수 캡처[a, &b]: 특정 변수만 명시적으로 캡처 (a는 값으로, b는 참조로)[this]: ..
2025. 9. 8.
Modern C++ : std::chrono 날짜 및 시간대 (11, 14, 17, 20)
날짜 및 시간대 (Date and Timezone with std::chrono) 개요C++20의 std::chrono 라이브러리는 강력한 날짜 및 시간대 처리를 위한 기능을 제공합니다. 이 문서에서는 날짜 리터럴, 캘린더 연산, 시간대 변환 등에 대해 설명합니다. C++ 버전별 주요 키워드 도입 시기C++11: 기본적인 std::chrono 기능 (시간 측정 중심)C++14: 사용자 정의 리터럴 지원 (h, min, s, ms, us, ns)C++17: 파일 시스템 시간 처리 개선C++20: 캘린더 및 시간대 지원 (std::chrono::year, month, day, time_zone 등) 내용 설명1. 날짜 표현year, month, day 클래스를 사용하여 타입 안전한 날짜 표현날짜 리터럴: 2..
2025. 9. 6.
Modern C++ : std::chrono 시간 측정 (11, 14, 17, 20)
시간 측정 (Time Measurement with std::chrono) 개요std::chrono는 C++11에서 도입된 시간 관련 연산을 위한 라이브러리로, 정밀한 시간 측정, 시간 지연, 시간 간격 계산 등을 위한 다양한 유틸리티를 제공합니다. 이 라이브러리는 타입 안전성과 정밀한 시간 제어가 필요한 애플리케이션에 적합합니다. C++ 버전별 주요 키워드 도입 시기C++11: std::chrono 네임스페이스, std::chrono::duration, std::chrono::time_point, std::chrono::system_clock, std::chrono::steady_clock, std::chrono::high_resolution_clockC++14: 시간 리터럴 지원 (1s, 100ms ..
2025. 9. 5.