C++: function
개요
- 다형성 함수 래퍼
- Callable
- 함수뿐만 아니라 호출 가능한 것 들
- Callable 대상(일반 함수, 멤버 함수, 람다, …)을 저장, 복사, 호출 가능
예제
- 코드
#include <functional>
#include <iostream>
#include <string>
using namespace std;
int func(string s) { return s.size(); }
int main() {
function<int(string)> f1 = func;
function<string(const string &)> f2 = [](const string &s) { return s; };
cout << f1("aaa") << endl;
cout << f2("aaaaa") << endl;
return 0;
}
- 실행 결과
3
aaaaa