|
1178 / 1128 / 94
Регистрация: 31.05.2012
Сообщений: 3,060
|
||||||
Освободится ли память?19.01.2015, 15:02. Показов 1923. Ответов 34
Метки нет (Все метки)
0
|
||||||
| 19.01.2015, 15:02 | |
|
Ответы с готовыми решениями:
34
Зачем использовать delete в небольшой программе, если после закрытия память все равно освободится? Склейка домена. как освободится?? Когда освободится доменное имя? |
|
184 / 168 / 53
Регистрация: 27.01.2013
Сообщений: 788
|
|
| 19.01.2015, 15:52 | |
|
Опять же выходит, если я "подрехтую" снаружи литерал для одной ф-ции, то нарушится и возврат второй функции.
0
|
|
|
2838 / 1647 / 254
Регистрация: 03.12.2007
Сообщений: 4,222
|
||
| 19.01.2015, 15:55 | ||
|
C++14 2.14.5.12:
(Это также допускает, что "foobar" + 3 может оказаться равно "bar".)
1
|
||
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
||
| 19.01.2015, 15:57 | ||
|
Изменение состояния "константы от рождения" есть UB.
0
|
||
|
184 / 168 / 53
Регистрация: 27.01.2013
Сообщений: 788
|
||
| 19.01.2015, 16:01 | ||
|
Логика моя исходит из объектного стиля. Мы объявляем пустые ф-ции для изменения наследниками. А компилятор взял, и указал их на одну область памяти - они ж одинаковые. Что ж это будет???
Понимаю, что ООП - другая тема, но логика моя стонет и плачет... Добавлено через 1 минуту Добавлено через 2 минуты Посмотри на #14 - в асм. листинге нет запрета на область памяти. Все объявлены в одном блоке, то есть через ссылку .LС0 могут быть изменены
0
|
||
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
||||
| 19.01.2015, 16:07 | ||||
|
В одном случае вы хотите вернуть указатель на "hello" И в другом случае вы хотите вернуть указатель на "hello" Получается, в обоих случаях вы хотите вернуть указатель на "hello" Оптимизирующий компиль может это пофиксить, он не сделает дублирования данных. В обоих случаях вы просто получите указатель на "hello" К ООП, наследованию/полиморфизму это не имеет никакого отношения, и никак не отразится. Вы взяли, и грязным хаком изменили то, что в принципе не должно было изменится. Последствия не предсказуемы. UB не означает, что все обязательно будет плохо. UB означает, что последствия могут быть какими угодно. Сегодня повезло, завтра не повезет.
0
|
||||
|
184 / 168 / 53
Регистрация: 27.01.2013
Сообщений: 788
|
|||
| 19.01.2015, 16:09 | |||
|
Добавлено через 1 минуту Еще хуже...
0
|
|||
|
2924 / 1274 / 114
Регистрация: 27.05.2008
Сообщений: 3,465
|
||
| 19.01.2015, 16:10 | ||
|
Hello, world! is same ? 0
0
|
||
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
|||
| 19.01.2015, 16:12 | |||
|
Вы объявили константу константой. И компилятор завидев такую константу считает себя вправе считать константу константой. То бишь он может закладываться на то, что она не будет изменяться. Может поместить её в реад-онли, оптимизировать и тп. И если позже, программист решит, что он просто пашутил, и это вовсе не константа - ну компиляторы хоть и умные, но с шутками у них туговато. Добавлено через 45 секунд
0
|
|||
|
184 / 168 / 53
Регистрация: 27.01.2013
Сообщений: 788
|
||
| 19.01.2015, 16:15 | ||
|
При желании "почудить" придецца лезть в асм листинг и проверять, чего там за меня решил компилятор с оптимизатором
0
|
||
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
||
| 19.01.2015, 16:20 | ||
|
Компилятор ничего за программиста не решает. Достаточно банального здравого смысла. Сначала объявить данные не изменяемыми, а потом начать их изменять - явное противоречие здравому смыслу. При таком подходе вам ассемблер уже не поможет.
0
|
||
|
184 / 168 / 53
Регистрация: 27.01.2013
Сообщений: 788
|
||
| 19.01.2015, 16:23 | ||
|
Я захотел сделать ЭН функций, возвращающих к-то литералы, которые я потом смогу поменять через доступ к памяти. И, в силу монопенисуальности, задал их всех одинаковыми. И компилятор испохабил мою прогу, направив все ф-ции на одну память, то есть сделав только одну ф-цию и зарезервировав только один кусок памяти (редиска).
Где отключаются оптимизаторы? Добавлено через 2 минуты
0
|
||
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
|||||||
| 19.01.2015, 16:27 | |||||||
|
Функция может вернуть указатель на данные, или ссылку на данные, или копию данных. "какие то литералы" - это неизменяемый массив символов. И не парить голову ни себе, ни людям, ни компилятору. Заметьте - он выполнил то, что сказали, а не то, что подумали.
Что означает, что это может работать и в режиме "без оптимизаций". Добавлено через 24 секунды
0
|
|||||||
|
184 / 168 / 53
Регистрация: 27.01.2013
Сообщений: 788
|
|
| 19.01.2015, 16:32 | |
|
hoggy, я понял Вашу т.з. И, в принципе, с ней согласен.
Я просто удивлен - давно не копался в корнях истины. Раньше было так, как я излогал свои мысли. Видимо, время бежит, надо просто переучиваться. Задачи, которые я приводил как примеры, действительно были мною реализованы (давно, правда, лет 15 тому) и нормально работали. Возможно потому-то я и возмущаюсь...
0
|
|
| 19.01.2015, 16:32 | |
|
Как реализовать паузу в цикле, пока не освободится один из потоков
Когда ставишь память в DIMM2, при этом приходится память переворачивать Внешняя память PIC: как нарастить внутреннюю память данных? Dll на C++ кушает память, как правильно удалять и освобождать память? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Море в объективе
kumehtar 06.07.2026
Хотел написать много проникновенных слов, но передумал.
Оно само - говорит.
Кто слышит тот слышит.
|
Оказывается, Unreal Engine позволяет качество на порядки выше, чем было в Lineedge
Etyuhibosecyu 05.07.2026
Жаль, конечно, что я не узнал об этом, пока Lineedge существовала, а то бы Noname2331 написал, что волки превращаются в пиксельную кашу, а я бы его попросил скачать какую-нибудь бриллиантовую или Pro. . .
|
Doom для терминала без стрельбы и монстров. 3D Raycasting на ascii.
dcc0 05.07.2026
Попросил нейронную сеть deepai. org написать рейкастинг 3D с библиотекой ncurses для Linux. Чтобы можно было
ходить на стрелочки. Чтобы стены были отрисованы символами. Справилась.
Первый вариант. . .
|
Установка статуса документа по условию
Maks 05.07.2026
Алгоритм из решения ниже реализован на нетиповом документе "НарядПутевка" разработанного в КА2.
Задача: в табличной части "Материалы" документа при записи автоматически устанавливать статус. . .
|
|
Сезонность и суточность закисления почв
anaschu 04.07.2026
200 часов это все равно моловато. Есть ситуации, но нестандартные, когда смена происходит за 5 лет.
Но обычно это 50 лет и более.
Наверное, закисление почвы происходит сезонно в средней. . .
|
В чем ценность человеческого опыта в глобальном смысле?
kumehtar 03.07.2026
Возможно, ценность человека не в том, что он однажды достигает мудрости, а в том, что он становится носителем карты пути. Он знает не только истину, но и последовательность внутренних изменений,. . .
|
интеграция AnyLogic с самописным REST API и переход на Odoo
anaschu 03.07.2026
Успешная интеграция AnyLogic с самописным REST API и переход на промышленную Odoo WMS
Сегодня проделал огромный путь от простой симуляции физических процессов до построения полноценной. . .
|
Поиск всех путей на ориентированном графе. Linux
dcc0 02.07.2026
Переработка старого кода из моей статьи.
Через несколько переработок от PHP кода к C89 (надеюсь, 89).
Но довольно запутанно получилось. Код для Linux.
Но если убрать time и то, что с ним. . .
|