Формальное лечение RAII и / или безопасные освобождения в C ++ - PullRequest
2 голосов
/ 12 сентября 2011

Существуют ли какие-либо исследовательские работы по формальному лечению RAII и / или безопасных освобождений в C ++?

1 Ответ

2 голосов
/ 12 сентября 2011

Взгляните на «Механизированную семантику для конструирования и разрушения объектов C ++ с приложениями для управления ресурсами» ( страница , другая версия PDF ), которая, по-видимому, была представленаPOPL 2012;но AFAIK еще не был рецензирован.

Есть раздел, специально посвященный RAII, хотя он может не доказать, что вы хотите:

Мы не можем доказать общий результат, гарантирующий надлежащийинкапсуляция ресурсов в классах: это вопрос проверки программы.Однако мы можем доказать, что в завершающей программе каждая конструкция подобъекта корректно сопоставляется с уничтожением.

Отказ от ответственности: я только кратко просмотрел статью и почти ничего не знаю о формальномсемантика языка.

...