The eighth line uses the static_assert keyword, which is a feature of C++11
C11 already had _Static_assert() and static_assert() in assert.h The eighth line uses the static_assert keyword, which is a feature of C++11
C11 already had _Static_assert() and static_assert() in assert.h> The idea behind static_assert is great. You run a check that has no impact on the performance of the software, and may even help it. It is cheap and it can catch nasty bugs. It is not new to C, but adopting the C++ syntax is a good idea.