"(c++20) consteval, constinit" C++20에 추가된 Language 중 consteval, constinit에 대해서 알아보고 기존에 있었던 const와 constexpr과 비교해보려고한다. 일단 어떤 단어의 줄임말인지 확인하고 넘어가자 ~const: Constant 상수constexpr: Constant Expression 표현// c++11consteval: Constant Evaluation 검증 // c++20 constinit: Constrant Initialization 초기화 // c++20함수에 키워트를 붙였을 때, 변수에 키워드를 붙였을 때를 나눠서 정리해보았다. 1. 함수 (일반 vs constexpr vs consteval) 먼저 선행해야 할 개념은 런타임(..
1. decltype 키워드 decltype 키워드는 인수로 지정한 표현식의 타입을 알아낸다. int x = 123; decltype(x) y = 456; 이렇게 작성하면 컴파일러는 y의 타입이 x의 타입인 int라고 추론한다. decltype은 레퍼런스나 const지정자를 삭제하지 않는다는 점에서 auto와 다르다. 템플릿을 사용할 때 상당히 강력한 효과를 발휘한다. 2. 로 스트링 리터럴(raw string liternal) 여러 줄에 걸쳐 작성한 스트링 리터널로서, 그 안에 담긴 인용부호를 이스케이프 스퀀스로 표현할 필요가 없고, \t, \n같은 이스케이프 시퀀스를 일반 텍스트로 취급한다. 문법: R " ( ) " const char* str = R"(Hello "Pinko")" ; 3. stati..