1

Nach this answer werden Ausnahmespezifikationen Bestandteil des Funktionstyps in C++ 17. Bedeutet dies, dass sich die Ausnahmespezifikationen für viele Funktionen ebenfalls ändern, z. Funktionen in den C-Kompatibilitätsköpfen erhalten noexcept Spezifikationen? Welche Standardfunktionen werden in C++ 17 in noexcept geändert?Funktionen drehen noexcept in C++ 17?

EDIT: Offenbar P0488R0, die 2016.10.19 Nationale Körper Kommentare zu dem Standard-Arbeitsentwurf beinhaltet Änderungen vorgeschlagen mehr C-Kompatibilität Funktionen markieren noexcept (siehe US-172-178). Ich denke, wir müssen auf eine Reaktion der WG21 auf diese warten.

+0

Der Vorschlag besagt, dass die Ausnahmespezifikation Teil des Funktionstyps wird, aber nichts über das Ändern der Standardbibliothek. – Gonmator

+1

@Gonmator Es scheint einfach peinlich, wenn Dinge wie 'std :: sqrt' nicht als eine natürliche Folge dieser Änderung im Typsystem" noexcept "werden würden. – jotik

+0

Related: http://Stackoverflow.com/a/30225086/1938163 –

Antwort

1

C++ 17 Änderung an noexcept ermöglicht Funktionszeiger den Typ noexcept zu haben.

C++ 17 Änderung an noexcept hat nichts damit zu tun, welche Funktionen in der Standardbibliothek mit noexcept markiert sind.

Keine hängt von den anderen ab.

Ich kenne keine Änderungen in C++ 17, um jede Funktion aus der C-Bibliothek noexcept zu markieren.