Modern C++

신승빈·2023년 6월 16일

재미있는 표현식을 발견한 겸 해서 하는 정리

Lambda 표현식의 변화

auto addT = []<typename T>(T a, T b) { return a + b; } // since C++20

// Generic Lambda Expression C++20
clsss ClosureType
{
public :
    template<typename T>
    inline constexpr
    auto operator()(T a, T b) const
    {
        return a + b;
    }
}

addT.operator()<int>(1, 2.2);

Generic Lambda 표현식으로 addT를 만들 경우 addT는 Closure가 되며 이는 결국 다시 객체이고 operator를 재정의한 템플릿이기 때문에 위와 같이 사용이 가능하다.

C++ Closure : https://lunchballer.com/archives/284
C++20 Lambda : https://kukuta.tistory.com/221

Concept

템플릿 메타 프로그래밍을 이용해 템플릿 매개변수에 조건을 거는 방법

Reference : https://kukuta.tistory.com/252
템플릿 메타 프로그래밍 : https://modoocode.com/221

Coroutine

유명한 코루틴

Reference : https://kukuta.tistory.com/222

Module

빌드 시간 단축, 매크로 격리
그냥 빌드가 더 빠른 DLL같은 느낌

Reference : https://kukuta.tistory.com/393

Range

Linux의 Pipe같이 작동하는 것인듯
View랑 Range해서 조금은 더 알아봐야 할 듯

Reference : https://kukuta.tistory.com/242

개인적인 잡상

23.06.16 어제 이글루스가 폐쇄되었다.
개인적으로 수까락이라는 분의 이글루스가 참 양질의 자료가 많았었는데..
운영자분도 19년이후로 새 글을 적으시지 않은걸 보면 아마 운영을 그만두신거같기도 하고.. 다시 그 자료들을 보기는 힘들 듯..

profile
이상을 길잡이 삼아 로망을 추구합니다.

0개의 댓글