2011-01-13 4 views
0

Я действительно запутался в управлении памятью на C++. Какая лучшая ссылка (книга или веб), которая касается распределения памяти, стека, кучи, свободного хранилища и области действия & времени жизни переменных.C++ Управление памятью Ссылки

Есть ли какой-либо ресурс, который контрастирует с базой распределения памяти на C++ с помощью C#?

+0

.net и C++ имеют совершенно разные способы выделения памяти. .NET управляется (т. Е. Сборщик мусора), на C++ он сам по себе! –

+0

Вы имеете в виду C#? – Simone

+0

@ Симоне да, C# – Esthapan

ответ

2

The C++ FAQ активно занимается вопросами управления памятью.

0

Я настоятельно рекомендую Expert C Programming: Deep C Secrets для изучения всех этих мелких деталей. Это не имеет ничего общего с C++, но вы узнаете почти все, о чем вы спрашивали :), а написание превосходно, что довольно редко встречается в книгах C++.

+1

За исключением того, что управление памятью на C++ очень * отличается от C, и вы должны * не * смешивать два в программах на C++. –

+0

Согласовано, но C является IMHO гораздо более дружественной средой, чтобы узнать о стеке, куче и переменной области. После того, как вы получили это твердое тело, легко услышать, что «новый выделяет объект из стека» и знает, что это значит. – sarnold

0

RAII в сочетании с интеллектуальными указателями (std::unique_ptr, std::shared_ptr) - это в основном все, что вам нужно. Если вы придерживаетесь этого, вы получите exception safe, код ошибки утечки памяти:

Смежные вопросы