본문 바로가기

프로그래밍/C/C++

c++ 11, 14, constexpr



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