태그: functional
3편
-
객체지향 vs 함수형 프로그래밍: 설계 방식의 차이와 선택 기준
캡슐화·상속·다형성 중심의 객체지향과 순수 함수·불변성 중심의 함수형 프로그래밍을 C++·Python·JavaScript 예제로 비교하고, 같은 문제를 두 방식으로 풀어 보며 멀티 패러다임 언어에서의 선택 기준을 설명합니다.
-
C++17 std::invoke와 std::apply: INVOKE 규칙과 튜플을 인자로 펼치는 원리
std::invoke가 자유 함수, 멤버 함수 포인터, 함수 객체를 한 문법으로 호출하는 INVOKE 규칙과 std::apply가 index_sequence로 튜플을 풀어 인자로 넘기는 원리를 설명하고, make_from_tuple과 invoke_result·is_invocable 검사를 예제로 다룹니다.
-
C++ std::bind와 placeholders: 부분 적용, 멤버 함수 바인딩, 람다로 바꿀 때
std::bind로 함수 인자를 미리 고정하는 부분 적용, placeholders로 인자 순서를 바꾸는 방법, 멤버 함수 바인딩, 이벤트 핸들러와 콜백 시스템 예제를 설명하고, 같은 일을 람다로 옮겼을 때와 비교합니다.