返回对类数据成员的引用,然后尝试更改该成员

时间:2019-05-13 17:59:27

标签: c++ reference

我已经看过其他文章,但还没有真正了解发生了什么。

所以说我有这个代码:

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的引用没有值 我更改n的值时的val变化的值?

2 个答案:

答案 0 :(得分:5)

将结果存储在<textarea class="form-control" rows="5" id="sql-query" formControlName="query"></textarea> 中时,将创建一个副本。试试:

int n

答案 1 :(得分:5)

如果您这样做

List<Wjik> Uden = new List<Wjik>();

您将看到10。