Часто требуется распечатать дополнительную информацию, если сбой assert. Способ сделать это:
assert(vec.size() > i ||
!(std::cerr << "False: " << vec.size() << ">" << i))
Таким образом, фактические размеры печатаются, когда assert выходит из строя. Но это уродливо, а также легко забыть !, что сделает условие утверждения истинным, и программа просто продолжит.
Что люди вместо этого используют для печати дополнительной информации об ошибке утверждения, например выше?