是否会在 C++20 中删除宏 `assert`?

Will the macro `assert` be removed in C++20?

根据 cppreferenceassert 将用作 C++ 属性。

但是,已经存在大量严重依赖宏的项目assert,有什么不好的影响吗?

assert 的新用法不会引起任何问题,因为它后面没有 (,因此不会调用函数式宏 assert(blah) .

没有。引入 C++20 契约的提案 p0542r5 说:

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.