Может ли кто-нибудь четко объяснить, с точки зрения C, С++ и Java. Что все идет на стек и что все идет в кучу, и когда выполняется выделение.
Насколько я знаю,
Все локальные переменные, являются ли примитивы, указатели или ссылочные переменные для вызова функции в новом стеке стека.
и все, что создано с новым или malloc, переходит в кучу.
Я запутался в нескольких вещах.
Являются ли ссылки/примитивы, которые являются членами объекта, созданного в куче, также сохраняются в куче?
и как насчет тех локальных членов метода, которые рекурсивно создаются в каждом кадре. Все ли они в стеке. Если да, то это память стека, выделенная во время выполнения? также для литералов, являются ли они частью сегмента кода? и как насчет глобалов в C, статических в С++/Java и статических в C.