Здравствуйте, гость ( Вход | Регистрация )
|
Litkevich Yuriy |
2.2.2008, 16:24
Сообщение
#1
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94
|
Переменные созданные внутри функций живут пока мы невышли из фукции, так вроде.
Видел такую вещь: т.е. функция возвращает указатель на масив, который в ней же создан. Но покинув функцию масив прекратит существование и указатель будет показывать в кучу проги, например, может показывать в неосмысленное место. Я правильно понимаю, т.е. это косячек програмиста, или как-то это иначе работает применительно просто к C++? |
|
|
|
![]() |
|
Tonal |
4.2.2008, 11:16
Сообщение
#2
|
![]() Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 452 Регистрация: 6.12.2007 Из: Новосибирск Пользователь №: 34 Спасибо сказали: 69 раз(а) Репутация: 17
|
А вот auto_ptr с массивом использовать не надо - убъёть!
Litkevich Yuriy Проще всего переделать код на использование vector<int>. С ним твоя исходная функция будет выглядеть так: А использовать её будешь так: Написано об этом очень хорошо у Страуструпа в самом начале "Язык программирования С++ 3ед." - книжка, которую каждый уважающий себя программист на С++ должен прочитать и понять. |
|
|
|
Litkevich Yuriy Время жизни переменных 2.2.2008, 16:24
archimed7592 Цитата(Litkevich Yuriy @ 2.2.2008, 16:24)... 2.2.2008, 16:30
Litkevich Yuriy Т.е. если мы делаем так:
int *pntr;
int b;
pntr =... 2.2.2008, 16:39
archimed7592 Нет, это не гарантируется. Я тебе рассказал как эт... 2.2.2008, 16:43
Litkevich Yuriy понял, значит я не зря переписал этот кусок кода, ... 2.2.2008, 17:07
archimed7592 Litkevich Yuriy, Цитата(Litkevich Yuriy @ 2.2... 2.2.2008, 17:41
Litkevich Yuriy Цитата(archimed7592 @ 2.2.2008, 20:41) ум... 2.2.2008, 20:26
archimed7592 Самый примитивный пример, не требующий особых тело... 2.2.2008, 20:35
Litkevich Yuriy Цитата(archimed7592 @ 2.2.2008, 23:35) Ал... 2.2.2008, 20:48
AD22 Цитата(Tonal @ 4.2.2008, 11:16) А вот aut... 5.2.2008, 13:39
Andrew Selivanov Цитата(Tonal @ 4.2.2008, 11:16) А вот aut... 4.2.2008, 11:37
Tonal Если это действительно ошибка - кидай исключение.
... 5.2.2008, 8:37
Litkevich Yuriy Цитата(Tonal @ 5.2.2008, 11:37) видно что... 5.2.2008, 10:58![]() ![]() |
|
Текстовая версия | Сейчас: 16.12.2025, 13:27 |