У меня возник вопрос о области видимости в C++. Мой приятель дал мне практический тест, чтобы помочь подготовиться к предстоящему техническому экзамену, и я не был уверен, как ответить на один вопрос.механика переменной области видимости в C++
Я дал фрагмент кода
int nValue1 = 12, nTotal =0;
nTotal += nValue1;
{
int nValue1 = 14;
nTotal += nValue1;
}
nTotal += nValue1;
мне нужно освежить в механике рамки, потому что я не уверен, какой из следующих ответов лучше.
А) Когда код выходит из области видимости, компилятор запоминает, чтобы восстановить его значение обратно до 12.
B) Когда код выходит из области видимости, оригинальный nValue1 снова используется.
Я думаю, что ответ B, это правильно?
Этот код является неправильным, потому что 'nValue1' используется, прежде чем он объявлен. – Brian
Хм ... Вопрос не имеет для меня никакого смысла. О каком «оригинальном' nValue' это говорить? Я бы понял, если внутренняя переменная также называется «nValue». Но это не так. – AnT
Это, очевидно, опечатка, внешняя декларация должна быть 'nValue1', также, на основе вопроса. –