Время жизни переменных, не понимаю одного момента |
Здравствуйте, гость ( Вход | Регистрация )
Время жизни переменных, не понимаю одного момента |
Litkevich Yuriy |
2.2.2008, 16:24
Сообщение
#1
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
Переменные созданные внутри функций живут пока мы невышли из фукции, так вроде.
Видел такую вещь:
т.е. функция возвращает указатель на масив, который в ней же создан. Но покинув функцию масив прекратит существование и указатель будет показывать в кучу проги, например, может показывать в неосмысленное место. Я правильно понимаю, т.е. это косячек програмиста, или как-то это иначе работает применительно просто к C++? |
|
|
archimed7592 |
2.2.2008, 20:35
Сообщение
#2
|
Участник Группа: Участник Сообщений: 127 Регистрация: 27.12.2007 Из: Moscow Пользователь №: 56 Спасибо сказали: 0 раз(а) Репутация: 0 |
Самый примитивный пример, не требующий особых телодвижений аля скачивания boost:
Теперь если просто вызвать эту ф-цию вот так: someFunc(); то утечки не будет т.к. деструктор auto_ptr удалит объект. Называется это дело RAII(ru, en). Если хочешь подробнее об умных указателях, то почитай здесь, у Мейрса, у Александреску, у Саттера. Сообщение отредактировал archimed7592 - 2.2.2008, 20:37 |
|
|
Текстовая версия | Сейчас: 18.1.2025, 13:55 |