을 C++ 0X 작업 초안의 마지막 편집을 통해가는 동안 나는 키워드 텍스트의 noexcept
"noexcept"는 "예외 없다 : 아무것도"
- 제거를 많이 발견 오류 : 아무것도 아니요 같은 장소에
그 반대의 경우도 마찬가지입니다. 그냥 몇 가지 예 : 에 대한 noexcept
예외의
- 교체 : 아무것도 :
noexcept
의 20.6.4 포인터 안전 [util.dynamic.safety]template<class T> T*undeclare_reachable(T*p);
- 또한 : 20.6.3.2. 우리는 대 예외
noexcept
찾을 일반적인 규칙/패턴이 없다- : 아무것도 여기
static pointer pointer_trait<T*>::pointer_to(...) noexcept;
질문 : 포인터 멤버 함수 [pointer.traits.functions]를 할 특성 Std-Lib?
- : 아무것도 여기
- 사용자가 주어진 규칙에 따라 특정 동작을 유도해야합니까? 나는. 은 자신의 기능에
noexcept
을 추가해야합니까, 그렇지 않아야합니까?
알 수 있습니다. 어려운 상황.필자는 WG21 문서에서 * "noexcept"를 언제 내 자신의 기능에 추가해야합니까? * N3279는 좋은 시작점입니다. 더 이상 가지고 있니? 예를 들어, 나는'swap'이 사용자 코드에서'noexcept'이어야한다고 제안했고, * move-assign *에 관한 문헌을 따라갈 계획이었습니다. 사용자가'noexcept'를 표시하거나 암묵적인 가정입니까? 우리는 컴파일러가 (언젠가) 그것으로부터 사용자의 어떤 것을 얻을 것으로 기대할 수 있습니까? – towi
현재 noexcept를 구현하는 컴파일러에 액세스 할 수 없습니다. 그러므로 나는이 문제에 대해 개인적인 조언을하지 않는다. (실험은 나와 함께 큰 일이다.) 모든 WG21 문서는 다음에서 찾을 수 있습니다. http://www.open-std.org/jtc1/sc22/wg21/docs/papers/ –
감사합니다. 나는 컴파일러 노트를 자세히 읽습니다. 예, 저는 이미 그 논문에 깊이 관여되어 있습니다 :-) – towi