Modern C++ : 직접 구현한 표준 알고리즘, equal, fill_n, iota, copy, accumulate (98, 11)
직접 구현한 표준 알고리즘: equal, fill_n, iota, copy, accumulate 개요C++ 표준 라이브러리의 헤더에 포함된 기본 알고리즘들을 직접 구현해보는 예제입니다. 반복자(Iterator)를 사용하여 컨테이너의 원소를 순회하고 조작하는 방법을 이해하는 데 도움이 됩니다. 이 문서에서는 equal, fill_n, iota, copy, accumulate 함수의 구현과 사용법을 다룹니다. C++ 버전별 주요 키워드 도입 시기C++98: std::vector, 반복자(iterator) 개념, 헤더의 기본 함수들C++11: cstdint (예: std::int32_t), std::boolalpha 내용 설명mystd 네임스페이스 안에 표준 라이브러리 함수와 유사하게 동작하는 함수들을 구..
2025. 9. 14.
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.