Согласно cppreference, assert будет использоваться как атрибут C++.
Однако уже существует множество проектов, сильно зависящих от макроса assert, есть ли плохой эффект?
Это не проблема, потому что за словом assert не будет следовать (, поэтому он не будет вызывать макрос функционального стиля.
@solarflare Ничего не удаляется.





Новое использование assert не вызовет никаких проблем, потому что за ним не следует (, и поэтому макрос функционального стиля assert(blah) не будет вызываться.
Нет. Предложение p0542r5, которое вводит контракты C++ 20, гласит:
Note that while
assert(expression)would expand as a function-like macro with the appropriate header,assert:is not a function-like invocation, so does not expand.
Заменяют чем-нибудь или просто удаляют полезный функционал?