Scope Guard средствами C++0x: часть 2

В прошлой части была рассмотрена реализация Scope Guard средствами . Благодаря шаблонам с переменным количеством параметров (variadic templates), реализация на получилась несколько проще, чем в оригинале, так как один и тот же шаблонный класс может использоваться для создания с различным количеством параметров.

Но, как было отмечено, предыдущая реализация не являлась оптимальной в плане количества строк. Можно сделать проще и короче. Далее »

Автор: , опубликовано в: C/C++, комментариев: 4
26
Апр
2010

Scope Guard средствами C++0x: часть 1

Scope Guard — одно из средств автоматического освобождения ресурсов при выходе за пределы видимости переменной, с ними связанной. предоставляет базовую гарантию безопасности исключений. Авторами этой идеи (по-видимому) являются Andrei Alexandrescu и Petru Marginean. Если вы с этой статьёй еще не знакомы, то очень рекомендую к прочтению.

Реализация Scope Guard довольно простая, но из-за того, что C++ не поддерживал шаблоны с переменным количеством параметров, приходилось создавать несколько шаблонов — в зависимости от того, сколько аргументов принимает функция, выполняющая освобождение ресурсов. Далее »

Автор: , опубликовано в: C/C++, комментариев: 2
23
Апр
2010