У меня есть класс со многими методами и я бы хотел проверить условия pre/post, такие как mMember == null и invoke function x(), если нет.Добавление инвариантной проверки ко всем методам класса
Можно ли добавлять условия до/после сообщения каждому члену этого класса автоматически? Класс определяется в классе.h, и все методы определены в class.cpp. Возможность определять макрос в начале class.cpp была бы идеальной, которая была бы вставлена в каждую запись функции только в этом файле.
Я знаю, что могу вручную добавить одно и то же предварительное условие/постусловие (используя деструкторы) вручную для каждой записи функции, но я снова и снова сталкиваюсь с этой проблемой. Это не идеально, поскольку я не могу проверить эти изменения и поддерживать их локально, и они укореняются из изменений других людей.
Во-первых, это «инвариант», а не «инвариантный». Во-вторых, вы упоминаете инвариант в названии вопроса, но в теле вы указываете только «условия до/после». –
@Alexandros: исправлено –
@Alexandros. Вы можете проверить инвариант, имея те же предварительные условия, что и проблема. – Chazz