Форум
C/C++
Тема
Как правильно задавать вопросы
B
I
abc
U
X
3
X
3
H1
H2
H3
H4
H5
H6
Asm
C/C++
C#
Erlang
Haskell
IDL
Java
Lisp
MSIL
Nemerle
ObjC
OCaml
Pascal
Perl
PHP
Prolog
Python
Ruby
Rust
SQL
VB
Здравствуйте, collider, Вы писали: C>Здравствуйте, Аноним, Вы писали: А>>условия задачи А>>есть некая структура(класс) списков А>>[ccode] А>>class Singl А>>{ А>> Singl *Next; А>> static Singl *This; А>> ~Singl() { if (Next) delete Next; }; А>> static Singl *Init() А>> { А>> //.... инициалицация This,Next... итд А>> }; А>>}; А>>Singl *Singl::This = 0; А>>[/ccode] А>>1) после завершения программы нужно сделать if (Singl::This) delete Singl::This; А>> для автоматического очистки списка А>>недолго думая набросал класс дестроер указателя А>>[ccode] А>>template <typename T> А>>class auto_delete_ptr А>>{ А>> T **ptr; А>> public: А>> auto_delete_ptr(T **p) { ptr = p;}; А>> ~auto_delete_ptr() { if (*ptr) delete *ptr; }; А>>}; А>>[/ccode] А>>и далее в .cpp модуле А>> static auto_delete_ptr autoDel(&Singl::This); А>>есть ли другие более стандартные варианты? C>Singl *Singl::This=InitThis(); C> static Singl *InitThis() C> { C> static Singl _This; C> return &_This; C> };
Теги:
Введите теги разделенные пробелами. Обрамляйте в кавычки словосочетания с пробелами внутри, например:
"Visual Studio" .NET
Имя, пароль:
Загрузить
Нравится наш сайт?
Помогите его развитию!
Отключить смайлики
Получать ответы по e-mail
Проверить правописание
Параметры проверки …