Alternative zu assert

Content

Es war ärgerlich, dass wir die Zugriffsfunktionen nicht noexcept deklarieren konnten. Das können wir erreichen, indem wir unsere eigene Version von assert formulieren.

Aufgabe

Entwickeln Sie Ihre eigene Version assert.hpp mit dem Makro ASSERT, das als Ersatz für <cassert> mit dem Makro assert dient. Dabei sind folgende Punkte zu beachten:

Achten Sie darauf, dass noexcept wirklich sichergestellt ist.

Testen Sie es mit einem kleinen Testprogramm, das auf ein Array-Element außerhalb des zulässigen Bereichs zuzugreifen versucht.