С++ - язык, который изучается постепенно.Указатели только для чтения


Материалы книги получены с http://www.itlibitum.ru/

Указатели только для чтения

Предположим, вы хотите сделать так, чтобы некоторый объект никогда не обновлялся (или, по крайней мере, не обновлялся обычными клиентами). Эта задача легко решается с помощью ведущих указателей - достаточно сделать операторную функцию operator->() константной функцией класса.

template <class Type>

class ROMP {

private:

Type* t;

public:

ROMP(); // Создает указываемый объект

ROMP(const ROMP<Type>&); // Копирует указываемый объект

~ROMP(); // Удаляет указываемый объект

ROMP<Type>& operator=(const ROMP<Type>&);

const Type* operator->() const;

};

Указываемый объект заперт так надежно, что до него не доберется даже ЦРУ. В принципе, то же самое можно было сделать с помощью более простых умных указателей, но ведущие указатели обеспечивают стопроцентную защиту, так как клиент никогда не получает прямого доступа к указываемому объекту.


Назад    Содержание    Далее    

Copyright 2005. Климов Александр. All Right Reserved.
Сайт создан в системе uCoz