2017. 3. 23. 07:39
목차
1. Auto
2. range based for
3. enum class
4. non-static data member initializers
5. initializer lists
6. default / delete definition
7. override / final
8. emplacement
9. constexpr
10. lambda
11. random
12. thread
2. constexpr
이번 글은 constexpr에 대해서 정리해보도록 하겠습니다.
constexpr은 변수, 함수, 클래스를 컴파일 타임에 정수로 사용할 수 있다.
[이 말은 상수로 취급할 수 있는 작업은 컴파일 타임에 처리하도록 한다는 말!]
#define 이나 템플릿을 대체하여 사용 할 수 있다.
음...?그래서 어떤식으로 쓴다는 거지? 하고 느끼실 텐데요.
아래와 같이 #define을 이용한 매크로에도 써먹어서 컴파일타임에 상수로 사용이 가능합니다.
#define으로 처리하면 빌드를 해봐야지 알 수 있었던 에러를
미리 컴파일타임에 컴파일러가 띄워줄 수 있는 방식이니
우리는 프로젝트를 빌드하지 않고도 바로바로 에러가 날 수 있는 녀석들을 확인 할 수 있습니다.
'Programming > C++' 카테고리의 다른 글
[11편] Modern C++ 정리: random (2) | 2017.03.23 |
---|---|
[10편] Modern C++ 정리: lambda (3) | 2017.03.23 |
[8편] Modern C++정리: emplacement (0) | 2017.03.23 |
[7편] Modern C++정리: override / final (0) | 2017.03.23 |
[6편] Modern C++정리: dafault / delete definition (0) | 2017.03.22 |