constexpr 키워드가 c++ 11에 추가 됐음.
constexpr 키워드를 붙이면 컴파일 타임에 평가되어 상수화 된다.
차이점을 코드로 설명하자면...
constexpr int get(int a, int b) { return a+b; }
int main()
{
int v = get(10, 10); // 컴파일할때 int v = 20; 이 된다.
}
// const 는 런타임 평가 상수다.
const int get(int a, int b) { return a + b; }
int main()
{
int v = get(10, 10); // get 함수에 10, 10을 넘긴뒤에 get 함수 내에서 a+b를 연산하고 결과값을 return 시켜주는...
}
constexpr 을 사용하면 프로그램의 성능상 잇점 위해 필요한곳에 사용하면 좋을거 같다
c++ 11 에서 constexpr은 리턴값을 1개만 할 수 있고, c++ 14에서는 여러개의 리턴값을 사용 할 수 있다고 한다...
'프로그래밍 > C/C++' 카테고리의 다른 글
c++ 11, 14 (0) | 2017.06.13 |
---|---|
c++ 11, 14 for, auto (0) | 2016.08.07 |
람다, 클로져, Closure, 람다함수 사용법 (0) | 2013.07.23 |
GOF 상태패턴 미로게임 Maze Game (0) | 2013.07.23 |
CString, BSTR, char 자료형 변환 (0) | 2013.04.03 |