在C++;20? 根据, AsRe>将用作C++属性。

在C++;20? 根据, AsRe>将用作C++属性。,c++,standards,assert,defensive-programming,c++20,C++,Standards,Assert,Defensive Programming,C++20,然而,已经存在大量严重依赖宏assert的项目,有什么不良影响吗?新使用assert不会引起任何问题,因为它后面没有(和函数样式的宏assert(blah)将不会被调用。否。引入C++20合同的提案说: 请注意,assert(expression)将扩展为具有适当头的类似函数的宏,assert:不是类似函数的调用,因此不会扩展 他们是用任何东西替换它还是只是删除有用的功能?这没有问题,因为单词assert后面不会跟(),所以它不会调用函数样式宏。@solarflare没有删除任何内容。

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

新使用
assert
不会引起任何问题,因为它后面没有
和函数样式的宏
assert(blah)
将不会被调用。

否。引入C++20合同的提案说:

请注意,
assert(expression)
将扩展为具有适当头的类似函数的宏,
assert:
不是类似函数的调用,因此不会扩展


他们是用任何东西替换它还是只是删除有用的功能?这没有问题,因为单词
assert
后面不会跟
),所以它不会调用函数样式宏。@solarflare没有删除任何内容。