오버로딩

    C++ 함수 객체 (Functor) / () 연산자 오버로딩

    추가 글 : 함수 객체 (Fuction Object) 템플릿 / 람다식 — A Game Client Programmer (tistory.com) 함수 객체 (Fuction Object) 템플릿 / 람다식 장점 : 다른 멤버 변수와 멤버 함수를 가질 수 있고 일반 함수에서 하지 못하는 지원을 받을 수 있습니다. 함수 객체의 서명이 같더라도 객체 타입이 다르면 서로 전혀 다른 타입으로 인식합니다 devshovelinglife.tistory.com 콜백 메커니즘 개념을 설명하기 위해선 '서버 코드'와 '클라이언트 코드'의 개념이 필요하다. 서버 코드: 기능이나 서비스를 제공하는 코드 클라이언트 코드: '서버 코드'가 제공해주는 기능이나 서비스를 사용하는 코드 Print() 함수는 출력 기능을 제공하는 '서버 ..

    C++ 연산자 오버로딩

    좌측 값 그대로 변경된 상태에서 반환 시 불필요한 복사 방지하기 위해 무조건 & 레퍼런스로 반환할 것. #include #include #include #include using namespace std; class Test; bool SAFETY_CHECK(Test& t) { if (&t == NULL) { cout

    C++ SFINAE 여러 타입에 대응하는 템플릿 오버로딩

    #include #include #include #include #include #include using namespace std; template using enable_if_t = typename enable_if::type; template void Run(T& t) { // 정수 타입들을 받는 함수 (int, char, unsigned, etc.) cout