1

Selon this answer, les spécifications d'exception feront partie du type de fonction en C++ 17. Cela signifie-t-il que les spécifications d'exception pour de nombreuses fonctions changeront également, par ex. fonctions dans les en-têtes de compatibilité C obtenir noexcept spécifications? Quelles fonctions standard auront leurs spécifications d'exception modifiées en noexcept en C++ 17?Fonctions tournant noexcept en C++ 17?

EDIT: ApparemmentP0488R0, les 2016-10-19 Commentaires National corps sur le projet de travail standard, comprend les modifications proposées pour marquer plusieurs fonctions de compatibilité C noexcept (voir US 172-178). Je suppose que nous devrons attendre une réaction du GT21 à ce sujet.

+0

La proposition indique que la spécification d'exception fera partie du type de fonction, mais pas de la modification de la bibliothèque standard. – Gonmator

+1

@Gonmator Il semble juste bizarre que des choses comme 'std :: sqrt' ne deviennent pas' noexcept' comme une conséquence naturelle de ce changement dans le système de types. – jotik

+0

En relation: http://stackoverflow.com/a/30225086/1938163 –

Répondre

1

C++ 17 la modification à noexcept permet aux pointeurs de fonction d'avoir le type noexcept.

C++ 17 la modification à noexcept n'a rien à voir avec les fonctions de la bibliothèque standard qui sont marquées noexcept.

Aucun ne dépend de l'autre.

Je suis conscient de pas de changements dans C++ 17 pour marquer chaque fonction de la bibliothèque C noexcept.