彻底搞懂 c++ 函数参数的 & 和 && |
您所在的位置:网站首页 › 2n3947参数 › 彻底搞懂 c++ 函数参数的 & 和 && |
&
如果你在网上看到 c++ 的几种传参方式,肯定就分成两种,“值传递”和“引用传递”。值传递很简单,复制一份就是了;“引用传递”就说的马马虎虎了。“传递的是实参的本身”,说起来很轻松,实际上很有问题。最简单的一个问题就是:“实参”本身不是一个东西怎么办?例如: void f_ck(int & i) { i++; } ... f_ck(1); // 编译不通过,VS答曰:非常量的引用值必须是左值。 ...当然我们后来也明白,& 是左值引用,所谓左值就是实际在运行时内存中存在的值,而不是 1 这种写死在运行代码中的值。 生命周期问题有时候即使我们赋予了左值,依然会出问题,比如下面这段代码: #include "stdafx.h" #include #include using namespace std; class Good { public: string goodname; Good() { goodname = "not_good"; cout |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |