2013-12-13 2 views
2

http://gcc.gnu.org/ml/libstdc++/2000-q1/msg00123.html을 읽은 후 valarray의 valarray를 사용하는 것이 표준에 의해 안전하다고 보장되지는 않습니다. 하지만 valarray에서 T에 대한 요구 사항 목록 (http://en.cppreference.com/w/cpp/numeric/valarray)을 읽을 때 T = valarray <built-in type>이 모두 만족하는 것 같습니다. valarray<valarray<built-in type> >은 안전합니까?valarray <valarray <내장형>> 안전합니까?

답변

6

아니요, 안전하지 않습니다.

특히, valarray 어떤 상황에서 1을 던질 수있는 ((예를 들어, §26.6.1/6 참조)하지만, 당신이 된 valarray에 넣어 유형 (적)가 발생하는 경우, 당신은 정의되지 않은 동작을 얻을 §26.2/2).

어쨌든 대부분 불필요합니다. valarray는 슬라이스를 통해 2D 주소 지정을 지원합니다.


1. 참고 :이 던질 수 있지만, 직접 그렇게 할 필요 적이 없어요. 동시에 const가 아닌 valarray에 대한 많은 연산은 동적 할당을 포함하는 완전히 새로운 valarray 전체를 반환해야합니다. 이것이 실패하면 예외를 던지기위한 선택의 여지가 거의없는 것으로 보입니다.

+0

포에버의 대답은 무엇이라고 생각하십니까? 언어 진화의 산물로 내게 확신하고있는 것 같습니다. 홀수 서식은 그가 충실히 인용 한 각주를 나타냅니다. – Potatoswatter

+0

ForEveR의 대답에서 인용 한 바와 같이 (* 표준을 찾지 못함)이 "* 값 유형에 대한 valarray의 인스턴스화"와 각주 275에 표시된 * intention *과 일치하지 않습니까? 네, 각주와 예제가 규범 적이라는 것을 압니다. 그러나 그들은 의도를 표현하는 경향이 있습니다. –

+0

이 답변은 메일 링리스트에서 제공되는 답변과 다른 것 같습니다. – ggg

관련 문제