0:00 - $2.2 Kinds of memory 6:15 - stack 11:40 - stack and function calls 15:00 - stack size 19:20 -stack overflow 22:45 - recursion limits 23:50 - segmentation fault 26:57 - dynamic memory 28:25 - operator new 31:38 - operator delete 33:50 - operator new[ ] and operator delete[ ] 35:02 - operator new is not guaranteed to initialize memory to anything! 36:24 - important idea - manual memory management 37:23 - memory leaks 41:10 - example 44:47 - garbage collector ( java, c#,python) 46:15 - details about operator delete 49:23 - operator delete and operator , example 51:40 - static variables 56:35 - 2 interesting questions
@nicholasspezza9449
Ай бұрын
Кстати, под виндой фокус с интами в динамической памяти к утечке не приводит, она начинает чуть расти где-то на 100-200 Мб и сбрасывается обратно, хотя цикл продолжает работать. А вот если выделять массивы интов, то память хорошо утекает.
@sensescatcher
5 ай бұрын
Я бы про стек задал пару вопросов. 1 - есть опции сборки позволяющие менять дефолтный размер стека? 2 - можно добиться от ОС динамического увеличения размера стека при достижении предела текущего?
@userunknown5860
3 ай бұрын
1. Есть - во всяком случае в posix thread(pthread) есть возможность менять размер стека (pthread_attr_setstacksize()). 2. Нет. После достижения пределе - stack overflow - переполнение стека - ошибка, приводящая к аварийному завершению программы(процесса).
@tikki2530
2 ай бұрын
Ребят, мне нужно очень глубоко разобраться во взаимодействии плюсов и памяти. Есть какие-то интересные ресурсы для этого или просто гуглить? Кстати, спасибо большое за лекции!
@nicholasspezza9449
Ай бұрын
Стандарт С++ к вашим услугам
@CrossBend
Ай бұрын
не совсем. выделения делает менеджер память либо сам прогер ручками просит нужное количество, если пишет на низах
@inbuckswetrust7357
3 ай бұрын
чего-то я сильно сомневаюсь, на счет инициализации статика при первом заходе в функцию. все же это будет сделано при загрузке программы.
@mesyarik
2 ай бұрын
en.cppreference.com/w/cpp/language/storage_duration#Static_local_variables Variables declared at block scope with the specifier static or thread_local(since C++11) have static or thread(since C++11) storage duration but are initialized the first time control passes through their declaration (unless their initialization is zero- or constant-initialization, which can be performed before the block is first entered).
@inbuckswetrust7357
2 ай бұрын
@@mesyarik Интересно зачем они так намудрили и как это реализовано внутри.
@arthursahakyan8125
2 ай бұрын
@@inbuckswetrust7357 не используй ресурсы если они не нужны... в этом весь C++
@sergeyinozemcev1070
5 ай бұрын
Студентам перед лекциями нужно уши чистить. Максимально идиотские вопросы от очевидных зевак. Будь я на месте Ильи уже бы наверное рвал и метал от таких вопросов.
@Sergey-mq3ol
4 ай бұрын
Капец ты душнила)))
@inbuckswetrust7357
3 ай бұрын
это потому что ты знаешь материал, а если пытаться думать то можно что-то пропустить
@nicholasspezza9449
2 ай бұрын
в церковь сходи покайся, хейтер 🙄
@wandhvh
Ай бұрын
ну ты чего так грубо. это люди которые кроме олимпиадных задач ничего не прогали) да и олимпиадников тяжело отнести к программистам.
@rpgground
Ай бұрын
@@inbuckswetrust7357 Скорее всего ТС про мастодонта внимательности на 26:27, который проснулся и стал спрашивать то, что только что объяснили
Пікірлер: 24