Am 14. September 2017 haben wir eine überarbeitete Fassung unserer Datenschutzrichtlinie veröffentlicht. Wenn Sie video2brain.com weiterhin nutzen, erklären Sie sich mit diesem überarbeiteten Dokument einverstanden. Bitte lesen Sie es deshalb sorgfältig durch.

C++ Grundkurs

Ausnahmespezifikation noexcept

LinkedIn Learning kostenlos und unverbindlich testen!

Jetzt testen Alle Abonnements anzeigen
Eine Funktion gibt durch die entsprechende Definition der Ausnahmespezifikation noexcept die Intention, eine Ausnahme auszulösen, an.
02:11

Transkript

In dieser Lektion möchte ich den noexcept-Specifier vorstellen. Der noexcept-Specifier erklärt in einer Funktion, dass sie keine Ausnahme auslösen wird. Sie finden zurzeit den noexcept-Specifier hauptsächlich in den Bibliotheken des Standards. Der noexcept-Specifier entspricht der alten throw-Spezifikation, die nun deprecated ist. D. h., die nicht mehr verwendet werden soll. void getValue() noexcept; entspricht void getValue() throw(); Der große Unterschied ist, dass noexcept zur Kompilierzeit ausgewertet wird, throw zur Laufzeit. D. h., bei noexcept gibt es keinen negativen Einfluss auf die Laufzeit des Programmes im Gegensatz zu throw. Wieso verwendet man noexcept? Wenn eine Funktion noexcept ist, dann drücken Sie damit dem Compiler aus, dass sie keine Ausnahme auslösen kann. Damit hat er alle Möglichkeiten frei, den Aufruf dieser Funktion zu optimieren. Es geht wie so oft in C++ um Performance. Ein weiteres Argument für noexcept ist, wenn Sie eine Funktion aufrufen, wo klar ist, dass sie noexcept ist, müssen Sie natürlich auch kein Exception Handling implementieren, da sie keine Exception auslösen kann. Bedeutet natürlich, wenn eine Funktion, die als noexcept deklariert ist, eine Ausnahme auslöst, dann wird die nicht behandelt. Nun will ich Ihnen noch den Standardheader zu dem neuen Container std::array zeigen. std::array ist ein neuer Container, der im Wesentlichen das Interface von std::vector mit der Performance und Schlankheit vom C-Array vereinigt. Den zeige ich Ihnen, um Ihnen darzustellen, wie oft tatsächlich das noexcept verwendet wird in diesem Header. Sie sehen, bei vielen Funktion, wo klar ist, dass diese Funktion keine Ausnahme auslösen kann, verwenden die noexcept als Specifier. In dieser Lektion habe ich Ihnen den noexcept-Specifier vorgestellt. Diese Specifier drückt aus, dass eine Funktion keine Ausnahme auslösen kann. Wie so oft in C++ geht es um Performance. Wenn eine Funktion keine Ausnahme auslösen kann, hat der Compiler größere Chancen, den Sourcecode und damit auch den Objektcode zu optimieren.

C++ Grundkurs

Steigen Sie in die mächtige Programmiersprache C++ ein und lernen Sie dabei alle wichtigen Funktionen mit Anwendungsbeispielen kennen.

8 Std. 14 min (147 Videos)
Derzeit sind keine Feedbacks vorhanden...
 

Dieser Online-Kurs ist als Download und als Streaming-Video verfügbar. Die gute Nachricht: Sie müssen sich nicht entscheiden - sobald Sie das Training erwerben, erhalten Sie Zugang zu beiden Optionen!

Der Download ermöglicht Ihnen die Offline-Nutzung des Trainings und bietet die Vorteile einer benutzerfreundlichen Abspielumgebung. Wenn Sie an verschiedenen Computern arbeiten, oder nicht den ganzen Kurs auf einmal herunterladen möchten, loggen Sie sich auf dieser Seite ein, um alle Videos des Trainings als Streaming-Video anzusehen.

Wir hoffen, dass Sie viel Freude und Erfolg mit diesem Video-Training haben werden. Falls Sie irgendwelche Fragen haben, zögern Sie nicht uns zu kontaktieren!