Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
очищается ли память массива после выхода из цикла или при переходе на следующий шаг цикла?
|
|||
|---|---|---|---|
|
#18+
SashaMercuryстранно что отскочил назад, а у тебя вперёд Некоторые компиляторы размещают переменные в памяти в порядке обратном их объявлению. Некоторые вообще произвольно. Так что вы на порядок не рассчитывайте. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2015, 15:44 |
|
||
|
очищается ли память массива после выхода из цикла или при переходе на следующий шаг цикла?
|
|||
|---|---|---|---|
|
#18+
Меня уже гонят.. Спасибо, сегодня я узнал много нового, а самое главное интересного C: ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2015, 15:57 |
|
||
|
очищается ли память массива после выхода из цикла или при переходе на следующий шаг цикла?
|
|||
|---|---|---|---|
|
#18+
SashaMercuryОтличный пример. Спасибо :) 1. Стек ограничен ?(думаю да) 2. Происходит ли проверка во время раздачи адресов объектам ? Просим мы адрес на буфер из 1000 целых, хранитель стека мне даст любой адрес, или проверит, есть ли в стеке столько памяти ? Вероятно проверит 3. Раздача этих адресов происходит во время выполнения, или во время компиляции ? Видимо во время компиляции. Тогда всё понятно. Верно ? 1. Размер стэка задается в параметрах вызова компилятора. 2,3. Я компиляторов не писал, только в общих чертах представляю как они устроены, поэтому далее могу ошибаться. Выше рассматривали использование стэка внутри функций, но есть еще один нерассмотренный момент - вызов функций. Происходит примерно следующее: во время компиляции определяется сколько места в стэке надо для работы функции, а при ее вызове ей это место дается (память не выделяется, просто дается следующий свободный кусок требуемого размера). В какой-то момент стэк закончится и будет обращение по адресу за пределами стэка. Например при рекурсии невозможно определить во время компиляции сколько раз функция вызовет сама себя. Но при компиляции функции адреса хранения переменных постоянные, просто они задаются относительно начала того самого блока памяти выделенного в стэке перед вызовом функции. По сути адрес состоит из двух частей: адреса начала блока и смещения. Хочешь более глубокого изучения этой темы - это надо ассемблер изучать. Пример как в рекурсии выйти за пределы стэка Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2015, 17:30 |
|
||
|
очищается ли память массива после выхода из цикла или при переходе на следующий шаг цикла?
|
|||
|---|---|---|---|
|
#18+
SashaMercury, Ты бы всё же книжки читал, а не по форумам шастал. Форум хорошо, когда что-то не понял и застрял. А изучать что-то по форумам невозможно. SashaMercuryУ меня остался один вопрос. Как можно создать и удалить объект за t=0 ? Насчёт удалить понимаю, такой операции видимо даже не будет, просто компилятор не вспомнит что по этому адресу что-то расположено. Но как он может выделить память за нулевое время, не понимаю. Ну, изучи как стек работает. На самом деле там действительно ноль. Есть sp (вершина стека), она при входе в функцию увеличивается (или уменьшается) на размер всех переменных в функции, и далее у каждой переменной адрес -- это вершина стека + смещение к переменной ( определяется в процессе компиляции ). А дальше весь код работы с переменной просто работает со своим куском памяти так, как надо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2015, 19:02 |
|
||
|
очищается ли память массива после выхода из цикла или при переходе на следующий шаг цикла?
|
|||
|---|---|---|---|
|
#18+
MasterZiv, не упрощай :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2015, 23:17 |
|
||
|
очищается ли память массива после выхода из цикла или при переходе на следующий шаг цикла?
|
|||
|---|---|---|---|
|
#18+
MasterZiv, нет у меня времени изучать больше книг в этом году. Мне нравится Си и кажется интересным С++, это я изучаю. Возникают смежные вопросы. Нет времени не потому что лень, а потому что именно в этом году у меня 6-8 часов в день математика. Сейчас изучаю Кнута, и BS. Заканчиваю изучать Анализ программного кода. Когда закончу одну из трёх, начну Таненбаума. Правда нет времени, не ругайтесь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2015, 04:02 |
|
||
|
очищается ли память массива после выхода из цикла или при переходе на следующий шаг цикла?
|
|||
|---|---|---|---|
|
#18+
SashaMercuryСейчас изучаю Кнута, и BS. Заканчиваю изучать Анализ программного кода. Когда закончу одну из трёх, начну Таненбаума. Правда нет времени, не ругайтесь. Вот Кнута брось. Можешь вообще выкинуть книгу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2015, 19:27 |
|
||
|
очищается ли память массива после выхода из цикла или при переходе на следующий шаг цикла?
|
|||
|---|---|---|---|
|
#18+
MasterZivВот Кнута брось. Можешь вообще выкинуть книгу. Он же математик. Ему Кнут - самое то. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2015, 19:28 |
|
||
|
очищается ли память массива после выхода из цикла или при переходе на следующий шаг цикла?
|
|||
|---|---|---|---|
|
#18+
SashaMercuryНет времени не потому что лень, а потому что именно в этом году у меня 6-8 часов в день математика. Сейчас изучаю Кнута, и BS. В какой конторе у бакалавров 6-8 часов ежедневно математика? Просто любопытно. Обычно у баков всего не более трёх пар в день. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2015, 23:53 |
|
||
|
очищается ли память массива после выхода из цикла или при переходе на следующий шаг цикла?
|
|||
|---|---|---|---|
|
#18+
MasterZivSSСейчас изучаю Кнута, и BS. Заканчиваю изучать Анализ программного кода. Когда закончу одну из трёх, начну Таненбаума. Правда нет времени, не ругайтесь. Вот Кнута брось. Можешь вообще выкинуть книгу. Я уверен, вы просто описались PS Это ведь не Донцова или Фленов ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.02.2015, 02:07 |
|
||
|
очищается ли память массива после выхода из цикла или при переходе на следующий шаг цикла?
|
|||
|---|---|---|---|
|
#18+
SashaMercuryMasterZivпропущено... Вот Кнута брось. Можешь вообще выкинуть книгу. Я уверен, вы просто описались PS Это ведь не Донцова или Фленов Возможно я озвучу некое среднее мнение среди модераторов. Обсуждение Кнута без линии С/С++ мы будем считать оффтопом в этом форуме. Безусловно старина Дональд умный и интересный автор. Но линия обсуждения должна быть актуальной и интересной для сообщества. Разводить блоги или дискурсы на математиков 9000 левела мы считаем предметом сторонним и не имеющем отношения к клиент-серверным технологиям. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.02.2015, 13:21 |
|
||
|
очищается ли память массива после выхода из цикла или при переходе на следующий шаг цикла?
|
|||
|---|---|---|---|
|
#18+
Anatoly MoskovskyMasterZivВот Кнута брось. Можешь вообще выкинуть книгу. Он же математик. Ему Кнут - самое то. Да если он ещё Кнута читать будет, то это -- всё, до пенсии. Кнут -- удивительная зануда, удивительный крючкотвор и буквоед. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.02.2015, 19:16 |
|
||
|
очищается ли память массива после выхода из цикла или при переходе на следующий шаг цикла?
|
|||
|---|---|---|---|
|
#18+
SashaMercuryMasterZivпропущено... Вот Кнута брось. Можешь вообще выкинуть книгу. Я уверен, вы просто описались PS Это ведь не Донцова или Фленов Нет, я не описался. Я тебе категорически не рекомендую читать Кнута без нужды (в смысле -- если там какой-то алгоритм нужный описан, и его нигде больше нет). И никому не рекомендую. Полно на эту же тему (алгоритмы) других толковых, но более лёгких книжек. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.02.2015, 19:18 |
|
||
|
очищается ли память массива после выхода из цикла или при переходе на следующий шаг цикла?
|
|||
|---|---|---|---|
|
#18+
MasterZivДа если он ещё Кнута читать будет, то это -- всё, до пенсии. Я так понял что программистом он не собирается быть. А чисто для общего развития можно читать что угодно )) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.02.2015, 19:29 |
|
||
|
очищается ли память массива после выхода из цикла или при переходе на следующий шаг цикла?
|
|||
|---|---|---|---|
|
#18+
Dima TКартежниккак узнать когда клиент отключился? может все-таки послушать советы Dimitry SibiryakovДумать вредно. Читай доку. и начать читать как ошибки обрабатывать? https://www.google.ru/search?q=recv() https://msdn.microsoft.com/en-us/library/windows/desktop/ms740121(v=vs.85).aspx http://www.opennet.ru/man.shtml?topic=recv&category=2&russian=0 Я прошу прошения , не знаю кто писал эту доку но ИМХО лучше сразу делать правильно через SO_ERROR, errno, strerror(errno) Например : Код: plaintext 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.02.2015, 21:06 |
|
||
|
очищается ли память массива после выхода из цикла или при переходе на следующий шаг цикла?
|
|||
|---|---|---|---|
|
#18+
Anatoly MoskovskyКартежник, 1) На каждой итерации цикла вы имеете дело с новым массивом содержащим мусор (содержит ли этот мусор куски предыдущих массивов совершенно не важно - это просто мусор) 2) Утечек никаких нет. А если бы у него было так: Код: plaintext 1. 2. 3. 4. 5. При этом реализация класса нам неизвестна. Насколько вообще законна такая конструкция и будет ли утечка памяти? PS Я полагаю что это плохой участок кода, но хотел бы уточнить. Здесь вероятно правильней проводить реинициализацию без использования new, один раз перед for выполнить создание объекта и его его инициализацию, на итерациях обновлять значения объекта ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2016, 07:37 |
|
||
|
очищается ли память массива после выхода из цикла или при переходе на следующий шаг цикла?
|
|||
|---|---|---|---|
|
#18+
Один преподаватель рассказывал такую историю: когда он был студентом, другой студент задавал на лекция всякие глупые вопросы. Первого это раздражало. А потом он понял, что эти глупые вопросы были, на самом деле, важны. В формате лекции (полтора часа пары) это действительно и важно и нужно - время ограничено. В формате форума - вредно и раздражает: предполагается, что человек не придумал какую-то фигню только что, а всё же потратил своё время на самостоятельные разборки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2016, 09:41 |
|
||
|
очищается ли память массива после выхода из цикла или при переходе на следующий шаг цикла?
|
|||
|---|---|---|---|
|
#18+
Вангую Сашка скоро возненавидит С++. Ему-бы MathLab или Wolfram для душевной услады... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2016, 10:00 |
|
||
|
очищается ли память массива после выхода из цикла или при переходе на следующий шаг цикла?
|
|||
|---|---|---|---|
|
#18+
"Чтобы ломать кирпичи - нужно тренироваться, тренироваться и что? Правильно - ещё раз тренироваться" (ц) неизвестный сержант ВДВ new выделяет память и вызывает конструктор для создания объекта в выделенной памяти. delete вызывает деструктор для разрушения объекта и освобождает занятую объекту память. Таким образом, new и delete вызываются строго попарно и в одинаковой форме. Вроде, об этом рассказывается во первых строках главы про new любой книжки по C++ Зуб не дам, но и в стандарте такие вещи должны быть упомянуты. Хотя, вероятно, в стандарте всё будет "размазано" по куче взаимосвязанных мест. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2016, 10:37 |
|
||
|
очищается ли память массива после выхода из цикла или при переходе на следующий шаг цикла?
|
|||
|---|---|---|---|
|
#18+
А может у него С++ с GC ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2016, 11:37 |
|
||
|
очищается ли память массива после выхода из цикла или при переходе на следующий шаг цикла?
|
|||
|---|---|---|---|
|
#18+
А были-ли проекты С++ компиллятора с таким аллокатором? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2016, 11:43 |
|
||
|
очищается ли память массива после выхода из цикла или при переходе на следующий шаг цикла?
|
|||
|---|---|---|---|
|
#18+
Умные указатели? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2016, 11:48 |
|
||
|
очищается ли память массива после выхода из цикла или при переходе на следующий шаг цикла?
|
|||
|---|---|---|---|
|
#18+
Это не то. Это требует переписывания кода. А имею в виду вот так чтоб ты флудил через new а при выходе из scope блока или функции - утечки удалялись. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2016, 11:54 |
|
||
|
очищается ли память массива после выхода из цикла или при переходе на следующий шаг цикла?
|
|||
|---|---|---|---|
|
#18+
maytonимею в виду вот так чтоб ты флудил через new а при выходе из scope блока или функции - утечки удалялись. Будет забавно, когда память, выделенная в malloc, освободится при выходе из него. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2016, 12:05 |
|
||
|
очищается ли память массива после выхода из цикла или при переходе на следующий шаг цикла?
|
|||
|---|---|---|---|
|
#18+
Даже если опустить "мелкую проблемку" отсутствия эффективного алгоритма поиска "мёртвых" объектов, остаётся суровая проблема порядка вызова деструкторов. try/finally тоже руками пишут. И переписывают, если выяснится, что накосячили. Т.е. не существует общего рабочего решения, не говоря уж об эффективном - какая уж тут сборка мусора. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2016, 12:17 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=39291386&tid=2018446]: |
0ms |
get settings: |
11ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
45ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
60ms |
get tp. blocked users: |
1ms |
| others: | 332ms |
| total: | 481ms |

| 0 / 0 |
