у нас есть часто повторяющиеся строки в коде, которые проверяют состояние возврата функции, а если это ошибка, немедленно возвращаются со статусом. Я думал об определении макроса для этого:
#define RETURN_IF_FAILED(x) { int stat = (x); if (FAILED(stat)) return stat; }
Локальная переменная потому, что параметр x
может быть вызовом функции.
Поскольку я знаю, что есть некоторые странные артефакты использования макросов, и я не очень опытен в них, я хотел бы спросить, видите ли вы какие-либо проблемы с этим макросом. Спасибо.
(и, пожалуйста, не предлагайте использовать исключения - я сам ненавижу этот стиль, но это так, как здесь)