В контексте реализации C++, когда вызывается функция, где хранятся значения общих переменных, относящихся к вызывающей функции? Сохраняются ли они в регистрах или в записи активации вызываемой функции?Общие переменные между вызывающими и вызываемыми функциями
#include <iostream>
using namespace std;
int main() {
int A, B, C, D = 2;
C = sum(A, B);
cout<<C<<D;
return 0;
}
int sum(int NUMA, int NUMB);
int sum(int NUMA, int NUMB) {
int D;
D = numA + numB;
return D;
}
Например, как компьютер различает D в этих двух функциях? Что еще более важно, существуют отдельные ячейки памяти для общих переменных для вызывающей функции и вызываемой функции?
Что означает «общие переменные» в этом контексте? Некоторый пример кода был бы полезен. –
Что вы подразумеваете под «общей переменной»? Пожалуйста, проиллюстрируйте свой вопрос небольшим примером кода. –
Вы также должны будете назвать реализацию. Это не вопрос «в контексте C++», а в контексте _implementation_ из C++. –