通过价值结果

时间:2014-03-11 03:37:17

标签: reference pass-by-reference pass-by-value

我自学了一些参数传递实现模型,并且在我的编程语言书中它要求我编写一个程序来产生不同的行为,这取决于是否通过引用传递或者通过值传递结果在其参数传递中使用。哪些主要问题可以帮助我理解并得到这个答案?

我知道通过引用传递传递变量的位置并由函数直接修改,而传递值结果复制该值然后将其复制回来。我只是想不出结果会有所不同的情况(也许我误解了价值结果?)。

1 个答案:

答案 0 :(得分:1)

// Correct implementation of a function addToMyself() as the name suggests
void addToMyself(int &a, int b) {
    a += b;
}

// Incorrect implementation
void addToMyself(int a, int b) {
    a += b;
}

// Tweaked implentation with pass by value
int addTwo(int a, int b) {
    return a+b;
}
// and use 
a = addTwo(a, b)