Size: a a a

2020 July 30

UT

Unknown T. in supapro.cxx
‘кей, я ещё не профи в этой теме, конечно
источник

AF

Aidar Fattakhov in supapro.cxx
Unknown T.
Ну это понятно, а вот в самой куче, как это происходит. Я представляю, что куча состоит из примерно таких блоков сырых данных:
struct Block {
   bool used;
   size_t size;
   char* data;
}

Вот изначально string попал в heap в один из таких блоков, потом ему внутри нужно больше памяти, но этот блок уже заполнен. Что происходит в этом случае?
Там параметр basic_string это аллокатор
источник

AF

Aidar Fattakhov in supapro.cxx
Тебе вот ЕГО нужно менять тогда уж
источник

DK

Demian Karpunov in supapro.cxx
Побитый Кирпич
Варн за delete в исходниках
почему за это варн, объясните бегинеру)
источник

AS

Anatoly Shirokov in supapro.cxx
Demian Karpunov
почему за это варн, объясните бегинеру)
RAII
источник

AF

Aidar Fattakhov in supapro.cxx
Demian Karpunov
почему за это варн, объясните бегинеру)
Бан за мемкопи
источник

🎄T

🎄🎊 R 🎅 Tb| ✡️ 🎊🎄... in supapro.cxx
Aidar Fattakhov
Бан за мемкопи
Бан за тупе паннинг
источник

DK

Demian Karpunov in supapro.cxx
Вы сделали только хуже. Ниче не понял, но очень интересно
источник

DK

Demian Karpunov in supapro.cxx
это может как-то навредить оперативной памяти, предполагаю?
источник

DK

Demian Karpunov in supapro.cxx
типо такая локальная иттерация рмрф для си
источник

AS

Anatoly Shirokov in supapro.cxx
Demian Karpunov
это может как-то навредить оперативной памяти, предполагаю?
Да, перегрев, выход из строя
источник

DK

Demian Karpunov in supapro.cxx
Anatoly Shirokov
Да, перегрев, выход из строя
сильно. понял.
источник

DK

Demian Karpunov in supapro.cxx
Anatoly Shirokov
Да, перегрев, выход из строя
а такие вещи можно ведь и из плагинов для программ, пишущихся на си вызывать? Нет никаких процедур со стороны ОС которые контролят такие действия?
источник

VS

Vlad Serebrennikov in supapro.cxx
Demian Karpunov
почему за это варн, объясните бегинеру)
потому что new/delete это ручное управление памятью
забыл delete — получил утечку
забыл, что уже вызывал delete, — получил неопределенное поведение

поэтому бери в руки так называемые умные указатели (smart pointers). стандартная библиотека предоставляет два: unique_ptr и shared_ptr. если не знаешь, какой тебе нужен, то бери первый — не ошибешься
источник

AF

Aidar Fattakhov in supapro.cxx
Demian Karpunov
а такие вещи можно ведь и из плагинов для программ, пишущихся на си вызывать? Нет никаких процедур со стороны ОС которые контролят такие действия?
Да шутка это
источник

DK

Demian Karpunov in supapro.cxx
Aidar Fattakhov
Да шутка это
мне сложно понять, но поверить могу :)
источник

DK

Demian Karpunov in supapro.cxx
Vlad Serebrennikov
потому что new/delete это ручное управление памятью
забыл delete — получил утечку
забыл, что уже вызывал delete, — получил неопределенное поведение

поэтому бери в руки так называемые умные указатели (smart pointers). стандартная библиотека предоставляет два: unique_ptr и shared_ptr. если не знаешь, какой тебе нужен, то бери первый — не ошибешься
спасибо, подробно и понятнее
источник

🎄T

🎄🎊 R 🎅 Tb| ✡️ 🎊🎄... in supapro.cxx
А может кто объяснить как выделять правильно выравненную память? И как это вообще в векторе работает например
источник

AF

Aidar Fattakhov in supapro.cxx
🎄🎊 R 🎅 Tb| ✡️ 🎊🎄
А может кто объяснить как выделять правильно выравненную память? И как это вообще в векторе работает например
Там дергается алокатор, он типизирован типом элемента
источник

🎄T

🎄🎊 R 🎅 Tb| ✡️ 🎊🎄... in supapro.cxx
Aidar Fattakhov
Там дергается алокатор, он типизирован типом элемента
источник