按值传递的

来源:互联网 发布:js 展开所有树节点 编辑:程序博客网 时间:2024/06/06 01:14

首先,X是5。当foo()称,x的值(5)是通过变量y在foo()。Y被赋值为6,然后销毁。x的值是不变的即使改变了

按值传递的优势

按值传递的参数可以是变量(如X)文字(如6或表达(如x + 1)

争论是的功能改变,以防止副作用

按值传递的缺点

复制大型结构或类可以花很多时间去复制这可能会导致性能下降特别是如果函数调用许多次

在大多数情况下按值传递是通过函数的参数的最佳方法灵活和安全

  using namespace std;    cout << "y = " << y << endl;    y = 6;    cout << "y = " << y << endl;} // y is destroyed hereint main(){    using namespace std;    int x = 5;    cout << "x = " << x << endl;    foo(x);    cout << "x = " << x << endl;    return 0;}


0 0