Statyczna asercja (ang. static assert) (lub asercja czasu kompilacji) to konstrukcja języka C++, której celem jest weryfikacja zadanego warunku podczas kompilacji. Stosouje się podobnie jak makro/instrukcję assert() z biblioteki standardowej, można jednak tylko weryfikować takie warunki których wartość logiczną można wyznaczyć na etapie kompilacji. np.
Przykład implementacji:
Literatura:
funus.net
assert( sizeof(int) == sizeof(long) ) ;
Przykład implementacji:
#define S_ASSERT(condition, message_string)\
typedef struct { int foo_tab[(condition)?1:-1]; }\
__s_assert_typedef_ ## message_string;
Literatura:
funus.net
