250401 5w1 수업 정리
Callble Type
다시.. callable은?! 함수처럼.. ()를 붙여서 호출할 수 있는 아기들을 말한다..
1.함수
2.함수포인터
3.람다
4.함수객체 - 함수호출연산자를 오버로딩한 클래스로 만든 객체
5.멤버함수
전에 람다..?까지 다뤘던 것 같은데
이번에는 함수객체(함수호출연산자)와 멤버함수에 대해 다뤄보겠다.. 아 .. 술먹고싶다..
일단 함수호출연산자는... () <- 이걸 말함.
() 이 괄호 두짝은 함수를 부르는 연산자임
우리는 ()이 연산자도 operator()로 오버로딩해서 사용해줄 수 있다..
원래 클래스 객체는 ()를 지원해주지 않는다.. 그래서 직접 operator()를 오버로딩해주는 것..
왜 사용하는데?!
객체를 함수처럼 사용하고 싶을때.... (이게 함수객체임!!! function object)
이런식으로.. dog라는 클래스 객체를 함수처럼 부르고 싶다?! 싶으면 operator()를 오버로딩 해주면 됨..
다음..
멤버함수는.. 설명하기 애매하다......
위의 예제로는 void operator()자체가 멤버함수.. 아무튼 멤버함수도 callable 하다.
정리..
ㄲㅡㅌ...
std::function도 해야하는데.............................................
'cpp(stl)' 카테고리의 다른 글
cpp10 STRING객체(복사/이동)/push_back/emplace_back (0) | 2025.05.24 |
---|---|
cpp9 STRING객체/list/vector/deque (1) | 2025.05.23 |
cpp7(함수포인터/collable/람다) 4w2 (0) | 2025.04.11 |
cpp6(RAII/throw/unique_ptr) 4w1 (0) | 2025.04.08 |
cpp5(stream_iterator/vector로 파일읽기/structured binding/연산자오버로딩) (0) | 2025.03.27 |