반응형
(c++) 함수 뒤 const
👨🏻‍💻 programming/◽ c, c++2024. 6. 27. 16:43(c++) 함수 뒤 const

" 함수 뒤 const " class Test { public: void ResizeVector(int num) const { vec.resize(num); } private: vector vec;} 위에 있는 함수는 컴파일이 될까? 정답은 안된다. 이유는 함수 뒤 const 때문에 vector 내장함수인 resize를 사용할 수 없다.함수 const에 대해서 간단하게 알아보자. [ 의미 ] - 해당 함수에서는 해당 객체의 멤버변수를 변경할 수 없다.  - 여기서 이번에 새로 알게 된 사실은 멤버변수에 순차 컨테이너 vector가 있었는데 vector 내장 함수도 제한 받는다는 것이다.어찌보면 당연한거지만 ...? 컴파일 전에 오류메시지를 뱉는게 신기했다...

(c++20) consteval, constinit
👨🏻‍💻 programming/◽ c, c++2024. 6. 14. 16:27(c++20) consteval, constinit

"(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) 먼저 선행해야 할 개념은 런타임(..

(c++17) decltype, 로 스트링 리터럴, static, const, extern, mutable, constexpr, 타입 앨리어스, 스코프, 레퍼런스, 어트리튜트
👨🏻‍💻 programming/◽ c, c++2022. 8. 11. 15:11(c++17) decltype, 로 스트링 리터럴, static, const, extern, mutable, constexpr, 타입 앨리어스, 스코프, 레퍼런스, 어트리튜트

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..

반응형
image