|
245 / 246 / 38
Регистрация: 08.04.2013
Сообщений: 927
|
|
Узнать указывает ли указатель13.04.2013, 22:35. Показов 6865. Ответов 16
Метки нет (Все метки)
Доброго времени суток. Постановка задачи такова: есть указатель на массив, надо удалить массив, а потом создать новый, но не ясно указывает ли указатель уже куда-то. Как с этим побороться?
Спасибо!
0
|
|
| 13.04.2013, 22:35 | |
|
Ответы с готовыми решениями:
16
Объявить в классе-наследнике указатель, указывающий туда же, куда указывает указатель в классе-родителе Указатель куда указывает? |
|
868 / 527 / 148
Регистрация: 03.02.2013
Сообщений: 1,845
|
||||||||||||||||||||||||||
| 13.04.2013, 22:44 | ||||||||||||||||||||||||||
|
в хорошем стиле если он не куда не указывает, там должено быть особое значение NULL
при инициализации указывайте
и всегда после
0
|
||||||||||||||||||||||||||
|
134 / 106 / 10
Регистрация: 22.05.2010
Сообщений: 533
|
|
| 14.04.2013, 03:35 | |
|
Алсо, можно юзать бустовские умные указатели. Их суть заключается, что вы удаляете не объект, а указатель на объект. Когда никто не указывает на объект - объект сам удаляется.
А вообще, это почти вечная проблема таких компилируемых в машинный код языков программирования. И не совсем понятно, почему. Факт остаётся фактом - программист сам работает с памятью. Более того, когда вы сделали delete, из RAM ничего не исчезнет, система лишь пометит этот кусок, как кусок пригодный для аллокатинга.
1
|
|
|
868 / 527 / 148
Регистрация: 03.02.2013
Сообщений: 1,845
|
||
| 14.04.2013, 04:41 | ||
за окном на минутку уже 2013, а вы всё о указателях, allacator-ах, счётчиках ссылок, как в 70-х... пора уже доверить это аппаратуре, и boost'овские умные указатели, согласен хороший способ, но не идиальный
0
|
||
|
134 / 106 / 10
Регистрация: 22.05.2010
Сообщений: 533
|
||
| 14.04.2013, 04:44 | ||
|
0
|
||
|
868 / 527 / 148
Регистрация: 03.02.2013
Сообщений: 1,845
|
||
| 14.04.2013, 04:50 | ||
|
быстрые серверные приложения - их нужны единицы... а дальше всё это оборачивается... хм... я в недавнем прошлом копался с системой openstack... там ну может 5-10% встретил Си-шного кода, который завёрнут в 90% питоновких скриптов и это как раз целая серверная система, ведущая в мире в области Cloud-технологий
0
|
||
|
Higher
|
||||||||
| 14.04.2013, 10:32 | ||||||||
|
Не по теме:
Теоретически, программист на с++ должен постоянно думать о работе с памятью, а GC его от этого полностью избавляет. На практике, из-за GC приходится постоянно думать о памяти. Например, есть у меня класс длинных чисел(обертка над гмп, стандартный BigInteger из фреймворка тормозит безумно). в плюсокоде я могу спокойно написать
Если же такое написать в шарпе, то приходится думать, а не создается ли при a * b временный объект, и если создается, то не слишком ли часто... Так как если он создается часто, то GC попросту не успевает проснуться и убрать память, и программа вылетает с OutOfMemoryException. Я так раз пять уже вляпался, каждый раз приходилось менять архитектуру и переписывать на быдлокод, не создающих временных объектов. Еще я пытаюсь все вычисления проводить в кеше, но на практике особой пользы это не приносит, так как в программу постоянно врывается GC, который портит весь кеш. И в итоге все тормозит :( В общем, для нетривиальных вычислений GC не подходит абсолютно. P.S. Для меланхоличного энтерпрайза GC приемлем, тут не спорю. Простите, накипело >_<
0
|
||||||||
| 14.04.2013, 19:19 | ||
|
Не по теме:
Алсо, нередко можно использовать ленивые вычисления.
0
|
||
|
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
|
||||
| 14.04.2013, 19:24 | ||||
|
Добавлено через 2 минуты
0
|
||||
|
134 / 106 / 10
Регистрация: 22.05.2010
Сообщений: 533
|
||
| 14.04.2013, 19:28 | ||
|
0
|
||
|
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
|
||||
| 14.04.2013, 19:37 | ||||
|
Добавлено через 1 минуту Добавлено через 1 минуту
0
|
||||
|
134 / 106 / 10
Регистрация: 22.05.2010
Сообщений: 533
|
||
| 14.04.2013, 19:42 | ||
|
В Си++ доступна адресная арифметика, поэтому так просто сделать не получиться. Но если использовать только векторы и их интерфейсы (и итераторы для обхода), то можно использовать (осторожно) и умные указатели. Впрочем, я сейчас цитирую гения, наверное. Он ведь ни разу не ошибается и очень легко локализует в проекте из 20-30 модулей утечку.
0
|
||
| 14.04.2013, 19:47 | |||
|
Не по теме:
0
|
|||
|
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
|
||||
| 14.04.2013, 19:51 | ||||
|
Добавлено через 2 минуты Добавлено через 59 секунд
0
|
||||
| 14.04.2013, 20:54 | ||
|
Не по теме:
taras atavin, вы либо тролль, либо не понимаете принципы работы GC. Когда удаляется указатель, тогда и декрементируется счётчик. Указателя нет, соответственно не к чему и обратиться.
0
|
||
|
868 / 527 / 148
Регистрация: 03.02.2013
Сообщений: 1,845
|
||
| 14.04.2013, 21:00 | ||
полистайте это - http://eax.me/why-haskell/ в языке не надо указателей, в языке не надо реализации алгоритмов (там даже циклов то нет), в языке не надо думать про память и помнить где и что валяется в памяти всё есть и всё работает... фантастика тут не причём
0
|
||
|
134 / 106 / 10
Регистрация: 22.05.2010
Сообщений: 533
|
||
| 14.04.2013, 22:11 | ||
|
Стоит учитывать особенности Haskell, да, некоторые задачи с учётом его особенностей решаются на раз-два, да и эффективность в этих случаях колосальная и не сильно отличается от, с куда сложной архитектурой, уже целого программного комплекса написанного на Си. Но, таких задач мало и они нередко носят чисто научный характер с минимальной практической пользой. К превеликому сожалению.
0
|
||
| 14.04.2013, 22:11 | |
|
Помогаю со студенческими работами здесь
17
Указатель не указывает на CHAR
Указатель указывает на несуществующую переменную, но выводит значение В нескольких потоках указатель указывает на одну и ту же область памяти
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
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 .
Быстренько разберем подход "на фреймах".
Мы делаем одну. . .
|