Итак, я начинаю изучать С ++ и наткнулся на этот example--(режим для начинающих) Свойства переменных Когда Вызывается
#include <iostream>
void doIt(int x)
{
x = 3;
int y = 4;
std::cout << "doIt: x = " << x << " y = " << y << std::endl;
}
int main()
{
int x = 1;
int y = 2;
std::cout << "main: x = " << x << " y = " << y << std::endl;
doIt(x);
std::cout << "main: x = " << x << " y = " << y << std::endl;
return 0;
}
--и для последовательности, где Doit() называется, Doit: х = 3 y = 4. Возможно, есть какая-то неизвестная вещь, которую я мог бы найти, чтобы лучше понять, что произошло, но, по сути, мне интересно, является ли x передан функции как переменная или ее значение (1). Если бы он был принят как 1, не было бы ошибки? Означает ли это, что для функции потребуется целочисленная переменная, а не отдельное целое число? Эта программа была предназначена, чтобы показать, как эти переменные являются локальными, но я не уверен, как все это сочетается.
Разница между передачей по значению и передачей по ссылке ... – Jarod42
Я думаю, вам, возможно, потребуется прочитать хороший [C++ book] (http://stackoverflow.com/questions/388242/the-definitive-c-book- руководство и список), чтобы понять, как работают вызывающие функции. – NathanOliver