Будет ли макрос `assert` удален в C ++ 20? - PullRequest
0 голосов
/ 19 сентября 2018

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

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

Ответы [ 2 ]

0 голосов
/ 19 сентября 2018

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

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

0 голосов
/ 19 сентября 2018

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

...