Warum bewegen Konstruktor für std::vector
mit benutzerdefinierten Zuordner nicht noexcept()
aus Allokator Verhalten ableiten?Warum Vektor Umzug ctor nicht ein noexcept() abzuleiten?
Dies führt dazu, dass die Klasse, die einen solchen Vektor einkapselt, nicht den (anderen) Vektor bilden kann, der normalerweise in einigen <algorithm>
s verschoben werden kann. Auch wenn der zugrunde liegende Typ die erforderlichen Anforderungen erfüllt (MoveInsortable und DefaultInsertable).
weil es Leute geben könnte, die von einem Move-Konstruktor werfen könnten –
Könnten Sie etwas Code zur Verfügung stellen? Ich verstehe nicht, was du meinst. Der "noexcept" auf was der "Allokator Verhaltensweisen"? –
Angenommen, die "Verhaltensweisen des Zuordners" bedeuten einen booleschen Ausdruck über "noexcept (allocator :: construct (...))" und "noexcept (allocator :: destroy (...))". – Orient