Я делал все возможное, чтобы выучить С++, но мое предыдущее обучение не оправдало бы одной важной проблемы: управление памятью. У моих основных языков есть автоматическая сборка мусора, поэтому отслеживание всего никогда не было необходимым. Я пробовал читать информацию об управлении памятью в С++ в Интернете, но у меня есть это трясущееся подозрение, что у меня что-то не хватает.
Итак, здесь многочастный вопрос:
- Каков минимальный минимум, который мне нужно знать об управлении памятью? (или, где я могу найти это)?
- Где я могу найти промежуточные и продвинутые знания/учебники/и т.д. (как только я закончил с основными)?
В частности: - Какова разница в производительности между указателями и ссылками?
- Я слышал, что в циклах вам нужно убедиться, что вы вызываете
delete
для любых новых указателей перед циклом повторно итерацию. Это верно? Нужно ли что-то делать со ссылками? - Какие классические примеры утечек памяти?
- Что мне нужно знать о следующем (и мне когда-либо реально нужно будет использовать их - если да, то где?):
-
malloc
-
free
-
calloc
-
realloc
-
*********************** ОБНОВЛЕНИЕ *******************
Это ссылка на ссылку lmgtfy в комментарии один (от Ewan). Если вы начнете читать информацию, доступную там, это не полезно начинающему. По-моему, это великая теория, но она не является ни актуальной, ни полезной для этого вопроса.