O'Reilly logo

Mastering C++ Programming by Jeganathan Swaminathan

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Simplified static_assert 

The static_assert macro helps identify assert failures during compile time. This feature has been supported since C++11; however, the static_assert macro used to take a mandatory assertion failure message till, which is now made optional in C++17.

The following example demonstrates the use of static_assert with and without the message:

#include <iostream>#include <type_traits>using namespace std;int main ( ) {        const int x = 5, y = 5;        static_assert ( 1 == 0, "Assertion failed" );        static_assert ( 1 == 0 );        static_assert ( x == y );        return 0;}

The output of the preceding program is as follows:

g++-7 staticassert.cpp -std=c++17staticassert.cpp: In function ‘int main()’:staticassert.cpp:7:2: error: static assertion failed: ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required