|
0 / 0 / 0
Регистрация: 23.01.2013
Сообщений: 6
|
|||||||||||
Что такое int*23.01.2013, 15:44. Показов 76018. Ответов 21
Метки нет (Все метки)
Если с этим
0
|
|||||||||||
| 23.01.2013, 15:44 | |
|
Ответы с готовыми решениями:
21
Что это такое int (*func4 (void)(int) Что такое int*a ?
|
|
0 / 0 / 0
Регистрация: 23.01.2013
Сообщений: 6
|
|
| 23.01.2013, 15:53 [ТС] | |
|
UserAK, приношу извинения, я писал сообщение побольше этого, но когда нажал отправить, то выкинуло из акаунта, а когда вошел, то выскочила ошибка форума, что я использваол русские и английские слвоа месте, а когда нажал под ошибкой на кнопку назад, то в сообщение не возвращалось, а шла переадресация на эту ошибку, ну а вернутся на само написание сообщения в браузере через стрелочки назад, не смог, так как в ie9 почему то не сохраняется буфер сообщений, которые были на предыдущих страницах открытых в барузере в той же вкладке в отлчии от google chrome. Ну а когда вошел и начал писать заного, то каким то хоткеем случайно создал преждевременно тему. Ну и начал побыстрому редактировать хоть что-то.
0
|
|
|
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
|
|
| 23.01.2013, 15:58 | |
|
0
|
|
|
Мой лучший друг-отладчик!
|
|
| 23.01.2013, 16:04 | |
|
lepufuxa, int * в обьявлении на функции указывает нам на то, что функция f возвращает указатель на int.У вас возвращается адрес локальной переменной., которая после выхода из функции уничтожается.Значит указатель будет указывать на ни на что.И если вы потом попытаетесь менять по этому указателю переменную, вам выкинет ошибку.
1
|
|
|
Неэпический
|
|||
| 23.01.2013, 16:08 | |||
|
0
|
|||
|
0 / 0 / 0
Регистрация: 23.01.2013
Сообщений: 6
|
|
| 23.01.2013, 20:22 [ТС] | |
|
Этот код был для примера и то что после выхода освобождается понятно. Я имел ввиду каким образом и в каком виде это передается, то есть что и куда будет передаватся через инструкцию return. Ну вот если бы у функции был возвращаемый тип int без указателя, то при вызове функции вернулось бы какое-то число, а если тип с указателем, то return передает адресс, но а что дальше происходит с этим адрессом? Лучше на примере копирования массива через operator=
0
|
|
|
Форумчанин
8216 / 5047 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
|
||
| 23.01.2013, 21:13 | ||
|
0
|
||
|
0 / 0 / 0
Регистрация: 23.01.2013
Сообщений: 6
|
|
| 23.01.2013, 22:01 [ТС] | |
|
MrGluck, страно это слышать от человека с 717 плюсами в репутации
0
|
|
|
|
|||||||
| 23.01.2013, 22:20 | |||||||
а когда и каким образом освобождать. может память внутри функции выделялась через malloc??? А может предоставлялась каким-нибудь менеджером памяти? Как я буду гадать, как её освободить, не вникая в тело функции fill?
0
|
|||||||
|
0 / 0 / 0
Регистрация: 23.01.2013
Сообщений: 6
|
|
| 23.01.2013, 22:35 [ТС] | |
|
Kuzia domovenok, я же не спорю, но это так категорично звучало, что даже множество больших объектов выделяемых внутри функции, должны были сказать "okay" и начать крашить стек. И безрукость или невнимательность программистов - это не аргумент для отказа от использования кучи внутри функций, так как вся эта "безрукость и невнимательность" - как минимум нежелание в чем либо разбиратся, что может вызвать куда больше проблем, чем шанс не уследить за утечкой памяти. Вообщем, это все оффтоп. На главный вопрос тут так и не ответили, а начали искать что-то в коде, который был для примера.
0
|
|
|
Модератор
8978 / 6744 / 921
Регистрация: 14.02.2011
Сообщений: 23,852
|
|||||||||||
| 23.01.2013, 22:56 | |||||||||||
![]() она остается в памяти никто её специально уничтожать не собирается просто память получает статус свободной и любая стерлядь может туда записать что угодно но указатель то валидный а значения могут быть любые но если знать эти подводные камни можно написать програмки которые будут работать Добавлено через 9 минут выдели на стеке массив на миллиард интов ![]() там такая функция
удалять или нет ??
0
|
|||||||||||
|
0 / 0 / 0
Регистрация: 23.01.2013
Сообщений: 6
|
|||||
| 23.01.2013, 23:27 [ТС] | |||||
|
0
|
|||||
|
Модератор
8978 / 6744 / 921
Регистрация: 14.02.2011
Сообщений: 23,852
|
|
| 23.01.2013, 23:34 | |
|
lepufuxa,
ладно продолжай выделять память в одном блоке уничтожать в другом можешь даже в разных единицах трансляцииПравило "Кто выделил память тот её и уничтожает" тебе видать претит
1
|
|
|
Форумчанин
8216 / 5047 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
|
||
| 23.01.2013, 23:35 | ||
|
lepufuxa, вы на форум пришли нас учить?
Почитайте книги, наберитесь опыта, тогда, надеюсь, дискуссия будет поинтересней. Аргументы появятся весомые, а пока это как в воду пукнуть. Считаю, что ответ был дан:
0
|
||
| 24.01.2013, 12:38 | |||
|
может класс хранит все указатели и вообще под этим указателем может что угодно в итоге скрываться Добавлено через 14 минут ![]() можно придираться к словам сколько угодно, только сути это не меняет, стековая переменная, созданная внутри функции, после выхода из функции по логике программы не существует.
0
|
|||
|
Модератор
8978 / 6744 / 921
Регистрация: 14.02.2011
Сообщений: 23,852
|
||||||||||||||||||||
| 24.01.2013, 13:17 | ||||||||||||||||||||
под переменную x допустим она лежит по адресу 100 функция вернула 100 адрес переменной х m стала равна 100 адрес валидный а вот что лежит по этому адресу? может 2( если никто не посягнул на эту память) а может и нет, никто не гарантирует Это как в файловой системе когда удаляешь файл удаляется запись ссылки на этот файл и сектора помечаются как свободные, но сами сектора никто не переписывает и можно восстановить файл, до тех пор пока другая программа решившая что то записать на диск и увидев пустой сектор не записала свои данные а ссылка на её местоположение существует![]() это как
в нормальном программировании так делать нельзя а вот в хакерском нередко используют например вернуть несколько значений (но это сильно платформенно зависимо) Добавлено через 19 минут вот маленький примерчик
но если написать так
хотя сам указатель продолжает оставаться валидным ( иначе бы вылетела ошибка доступа к памяти)
0
|
||||||||||||||||||||
| 24.01.2013, 13:44 | ||
|
Добавлено через 6 минут я не знаю какие бывают операционные системы и как может повести себя программа под их управлением, может это виртуальная машина, запущенная на глючном компе, может приложение вместе со всем своим барахлом постоянно переезжает из одной области памяти в другую. а может я не так понял вопрос. имхо вопрос был про правомерность считать возвращаемый указатель указателем на int. Добавлено через 11 минут переменная это же всё-таки абстрактное понятие, ну не знаю как грамотно выразить мысль - данные в контексте методов работы с ними, если есть данные в памяти но они выдернуты из контекста, это уже не переменная, а непонятно что. то есть в таком ракурсе вполне можно считать, что жизненный цикл переменной закончен - переменная уничтожена. нету её больше. это уже не она (как в фильмах ужасов) остался только безжизненный трупик где-то в стеке
1
|
||
| 24.01.2013, 13:44 | |
|
Помогаю со студенческими работами здесь
20
Что означает ошибка too few arguments to function ‘int my_func(int, int)’ (язык C++)?
Что такое файловый буфер? Что такое режим (модификатор) доступа, при работе с файлами? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
|
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
|
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут.
В век Веб все очень привыкли к дизайну Single-Page-Application .
Быстренько разберем подход "на фреймах".
Мы делаем одну. . .
|