根据cppreference,assert
将用作C ++属性。
但是,已经存在大量依赖宏assert
的项目,会有不好的影响吗?
答案 0 :(得分:14)
不。引入C ++ 20合同的提案p0542r5说:
请注意,尽管
assert(expression)
可以扩展为具有适当标头的函数式宏,但是assert:
不是函数式调用,因此不会扩展。
答案 1 :(得分:7)
assert
的新用法不会引起任何问题,因为它后面没有(
,因此不会调用函数样式的宏assert(blah)
。 / p>