2012-09-02 4 views
5

numeric_limits<T>::minmax은 템플릿이나 static_assert에서 사용할 수있는 상수 표현식이어야한다고 C++ 11 표준에서 지정합니까?numeric_limits 최소/최대 constexpr입니까?

더 일반적으로 표준에 따라 상수 표현식 인 함수 목록을 찾는 방법은 무엇입니까? 실제로

+0

새로운 키워드'constexpr'의 주된 동기는 numeric_limits 상수 표현식에서 물건을 만드는 것입니다. –

답변

9

표준 (또는 내 최신 작업 초안) 장에서 std::numeric_limits의 모든 구성원을 나열 18.3.2.3 [numeric.limits] constexpr (실제로 여기 정의를 인용 좋은하지 않을 것이다)에 대한 일반 템플릿 버전뿐만 아니라 모든 기본 전문화 (18.3.2.7 [numeric.special]). 그래서 예, 물론 상수 표현이 될 수 있습니다 (실제로 구현은 constexpr을 지원합니다).

두 번째로 더 일반적인 질문에 대해서는 실제 표준과 크게 다르지 않은 최신 초안을 무료로 사용할 수있는 C++ 표준 자체를 소개하는 것 외에는별로 도움이되지 않습니다. 또는 더 편리하지만 덜 구속력있는 cppreference.com을 볼 수도 있습니다.

+2

영향을받은 사용자의 경우 2013 년 11 월 Visual Studio 2013 CTP는 최소 min() 및 max()가 아닌 constexpr numeric_limits를 보유하지 않습니다. –

+0

@EmilyL. 글쎄, 그것은'constexpr'을 전혀 가지고 있지 않습니까? –

+0

부분적으로는 멤버 함수에 대해 아직 구현되지 않았습니다. http://blogs.msdn.com/cfs-filesystemfile.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-65-69/0638.Updated-Conformance-Map.png –

관련 문제