I am using VC++. Is assert(false) ignored in release mode?
assert(false)
same for GNU :
#ifdef NDEBUG # define assert(expr) (__ASSERT_VOID_CAST (0))