Идиомы и стили С++
Отрывок из книги
Код к данному шагу я не проверял, в отличие от предыдущих. К диспетчеризации мы еще вернемся. Или не вернемся. Но следующий шаг однозначно про указатели. Шаг 5 - Ведущие указатели (Master Pointers). Важные конструкторы. Если мы уж взялись заниматься умными указателями, то очень быстро придем к выводу, что неплохо ограничить их свободу так, чтобы два указателя не указывали на один объект. Далее я их называю ведущими указателями. Для этого нужно реализовать буквально три-четыре правила:
1. Порождение ведущего указателя порождает объект, уничтожение ведущего указателя уничтожает объект; 2. Копирование ведущего указателя создает точную копию объекта; 3. Присваивание ведущего указателя уничтожает предыдущий объект и ставит на его место копию нового объекта. Если же мы хотим получить однозначное соответствие объекта и его ведущего указателя, то нужно запретить создание объекта, кроме как при помощи ведущего указателя, и запретить создание ведущего указателя, кроме как специальной функцией. Последнее в общем не обязательно, а первое весьма важно.
Такие простые, но замечательно полезные механизмы просто сами набираются на клавиатуре сначала в виде класса, а потом в виде шаблона класса (мы же не последний день на свете живем, пригодится еще).
Комментарии:
Популярные книги
Монстр из прошлого тысячелетия
5. Соприкосновение миров
Фантастика
:попаданцы
,аниме
,фэнтези
.
4.75
рейтинг книги
Жизнь и судьба
Проза
:классическая проза
.
8.48
рейтинг книги
Прайм. День Платы
7. Легенда
Фантастика
:боевая фантастика
,рпг
.
5.00
рейтинг книги
Охотник за головами
1. Фронтир
Фантастика
:боевая фантастика
,космическая фантастика
.
5.00
рейтинг книги
Имперец. Том 4
3. Имперец
Фантастика
:попаданцы
,альтернативная история
,аниме
.
5.00
рейтинг книги
Неучтенный элемент. Том 9
9. Антимаг. Вне системы
Фантастика
:фэнтези
.
5.00
рейтинг книги
Дважды одаренный
1. Дважды одаренный
Фантастика
:альтернативная история
,аниме
,фэнтези
,фантастика: прочее
,попаданцы
.
5.40
рейтинг книги
Камень. Книга шестая
6. Камень
Фантастика
:боевая фантастика
.
7.64
рейтинг книги
Кодекс Охотника. Книга XL
40. Кодекс Охотника
Фантастика
:аниме
,фэнтези
,попаданцы
.
5.00
рейтинг книги
Матабар IX
9. Матабар
Проза
:магический реализм
.
5.00
рейтинг книги
Язык программирования Си. Издание 3-е, исправленное
Компьютеры и Интернет
:программирование
.
5.00
рейтинг книги
Я бог. Книга XXXIX
39. Дорогой барон!
Фантастика
:юмористическое фэнтези
,аниме
,попаданцы
.
5.00
рейтинг книги
Я все еще не князь. Книга XV
15. Дорогой барон!
Фантастика
:юмористическое фэнтези
,попаданцы
,аниме
.
5.00
рейтинг книги
Хозяин Теней
1. Безбожник
Фантастика
:попаданцы
,аниме
,фэнтези
.
5.00
рейтинг книги
Очарованная душа
Проза
:классическая проза
.
6.00
рейтинг книги
Берсеркер
1. Берсеркер
Фантастика
:научная фантастика
.
7.56
рейтинг книги
Морской волк. 1-я Трилогия
1. Морской волк
Фантастика
:альтернативная история
.
8.71