Это может быть субъективный вопрос, но я более или менее задаю его и надеюсь, что люди поделятся своим опытом.(Поскольку это самая большая вещь, которой мне не хватает в C ++)
В любом случае, предположим, у меня есть - по какой-то непонятной причине - функция инициализации, которая инициализирует структуру данных из кучи:
void initialize() {
initialized = true;
pointer = new T;
}
Теперь, когда я вызову функцию инициализации дважды, произойдет утечка памяти (верно?).Поэтому я могу предотвратить это несколькими способами:
- игнорировать вызов (просто проверьте, инициализирована ли я, и если я ничего не делаю)
- Сгенерируйте ошибку
- автоматически «очищает» код и затем повторно инициализирует его.
Теперь, каков вообще «лучший» метод, который помогает сохранить мой код управляемым в будущем?
РЕДАКТИРОВАТЬ : спасибо за ответы до сих пор.Однако я хотел бы знать, как люди справляются с этим более общим способом.- Как люди обрабатывают «простые» ошибки, которые могут игнорироваться.(например, вызывать одну и ту же функцию дважды, тогда как это имеет смысл только 1 раз).