zoukankan      html  css  js  c++  java
  • C++ 值传递、址传递、引用传递

    一。值传递   int func(int p)

    值传递会在栈中开辟一块空间 p,使得p和实参的a 同值。

    此时你在函数func里面对p进行任何操作都不会对原值a产生任何影响。因为a 和p本就就是两个变量只是保存的值相同而已,除此之外没有任何关系。

    要向对原值操作程序使用以下两种传参方式:

    二。址传递   int func(int *p)

    按址传递的本质就是按值传递。

    此时会在栈中产生一个指针p 来保存a的地址,然后通过这个地址来找到原值a.之后所有的操作都是对原值进行操作。

    三。引用传递   int func(int &p)

    引用传参并不会在栈中产生P,p就是a的一个别名,a就是p p就是a ,所有对P的操作就是对a的操作。

    引用传递和地址传递都可以对原值进行操作,两者的区别是:地址传递是会在栈中开辟一个指针,占用内存空间。

    原文地址:http://tieba.baidu.com/p/4764651702

  • 相关阅读:
    a*b高精度数组算法
    vscode plugins
    vscode keys
    vscode setting.jsonxx
    vscode settings.json
    webstorm keys
    vscode extensions
    vscode wechat settings.json
    vscode sass live compiler
    webstorm crack
  • 原文地址:https://www.cnblogs.com/lyr2015/p/6036234.html
Copyright © 2011-2022 走看看