Будет ли стандартизация идиом охранника / выхода из области видимости?

Запуск лямбды на выходе из области видимости кажется такой простой вещью, я бы ожидал, что она будет стандартизирована. Вещи как unique_ptr лучше, когда они применяются, но я считаю, что существует бесконечный запас "одноразовых" деструкторов, особенно при использовании библиотек в стиле C. Кто-нибудь знает, будет ли это?

2 ответа

Решение

n4189 есть предложение добавить make_scope_exit оболочки и другие подобные обработчики ресурсов для языка. Он основан на относительно известных scope_guard говорить.

Самый последний "текущий статус бумаги" от LWG - в 2013 году, до указанной даты.

Содержимое C++1z (возможно, C++17) еще не определено.

Статус C++ 1z для clang не упоминает об этом. C++ 1z TS для clang не упоминает об этом.

Сам документ содержит пример реализации. Я не знаю, на каких условиях лицензирования он находится.

Похоже, что текущая версия документа о выходе из области применения, P0052, войдет в Библиотечный фундамент v3 для вероятного принятия в стандарт Post- C++17.

Короче говоря, не случится для C++17. Сожалею.

Другие вопросы по тегам