Я видел другие посты по этому вопросу, но на самом деле еще не понял, что происходит.
, скажем, у меня есть этот код:
template<typename T>struct S {
S(T value):val{value}{}
T& get(){return val;}
private:
T val;
};
int main(){
S<int>s1{5};
int n = s1.get();
n = 10;
std::cout<<s1.get();
}
это печатает: 5
мой вопрос: почему, если я вернул ссылку на val, значение val не изменится, когда я изменил значение n?