Constexpr 함수와 상수: 언제 사용해야 하는지
"return 5, " 왜 그러한 기능이 C 11에 존재하는지, 그리고 이 기능이 상수 선언을 대체해야 하는지 궁금할 수도 있습니다. 대신.
상수 대 Constexpr 함수
상수 값을 처리하는 다음 예를 고려하세요.
#define MEANING_OF_LIFE 42 const int MeaningOfLife = 42; constexpr int MeaningOfLife() { return 42; }
전통적으로는 간단히 선언합니다. 일정한 값. 그러나 constexpr 함수는 특정 이점을 제공합니다.
Constexpr 함수가 유용한 경우
Constexpr 함수는 반환된 값에 다음과 같이 더 복잡한 계산이 필요할 때 유용합니다.
constexpr int MeaningOfLife(int a, int b) { return a * b; } const int meaningOfLife = MeaningOfLife(6, 7);
이를 통해 코드 읽기가 더 쉬우면서도 컴파일 시간이 단축됩니다. 평가.
컴파일 시간 계산
Constexpr 함수를 사용하면 다음과 같이 명시적인 컴파일 시간 상수 계산이 가능합니다.
template<typename Type> constexpr Type max(Type a, Type b) { return a < b ? b : a; }
이렇게 하면 상수 값을 효율적으로 처리하기 위해
증가 가독성
DegreesToRadians와 같은 함수의 경우 constexpr 함수를 사용하면 가독성이 향상되어 컴파일 타임에 값이 계산된다는 것이 더 명확해집니다.
const float oneeighty = DegreesToRadians(180.0f);
결론
상수 선언은 여전히 중요한 관행이지만 constexpr 함수는 다음과 같은 경우에 이점을 제공합니다. 더 복잡하거나 읽기 쉬운 상수 값으로 작업합니다. 이는 컴파일 타임 평가를 용이하게 하고 코드 유지 관리성을 향상시킵니다. 이러한 주제에 대한 자세한 내용은 http://en.cppreference.com/w/cpp/언어/constexpr을 참조하세요.
위 내용은 Constexpr 함수 또는 상수: 언제 어느 것을 사용해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!