Я пытался спросить раньше, но мне не очень понятно, поэтому я снова спрашиваю.
Я хочу иметь переменную, которая зависит от значения другой переменной, например b в этом примере:
int main(){
int a;
dependent int b=a+1; //I'm just making this up
a=3;
cout << b; //prints 4
a=4;
cout << b; //prints 5
}
Конечно, этого нет в C ++, но это то, что я хочу.
Вместо этого я попытался создать функцию:
int main(){
int a;
int b(){ return a+1; } //error
a=3;
cout << b(); //would print 4 if C++ allowed nested functions
a=4;
cout << b(); //would print 5 if C++ allowed nested functions
}
Вышеупомянутое не работает, потому что C ++ не допускает вложенных функций.
Я могу выполнять функции только вне main (), например:
int b(){
return a+1; //doesn't work because a is not in scope
}
int main(){
int a;
a=3;
cout << b();
a=4;
cout << b();
}
Но это не работает, потому что a не находится в той же области видимости, что и b (), поэтому мне пришлось бы передать a в качестве параметра, а я не Не хочу этого делать.
Есть ли какие-нибудь уловки, чтобы получить что-то похожее на зависимую переменную, работающую в C ++?