Будет ли макрос `assert` удален в C++20?

Согласно cppreference, assert будет использоваться как атрибут C++.

Тем не менее, уже существуют тонны проектов, сильно зависящих от макроса assertЕсть ли плохой эффект?

2 ответа

Решение

Новое использование assert не вызовет никаких проблем, потому что это не сопровождается ( и, следовательно, макрос в стиле функции assert(blah) не будет вызван.

Нет. Предложение p0542r5, которое вводит контракты C++20, гласит:

Обратите внимание, что в то время как assert(expression) будет расширяться как функциональный макрос с соответствующим заголовком, assert: не является вызовом, подобным функции, поэтому не расширяется.

Другие вопросы по тегам