彻底搞懂 c++ 函数参数的 & 和 &&

您所在的位置:网站首页 2n3947参数 彻底搞懂 c++ 函数参数的 & 和 &&

彻底搞懂 c++ 函数参数的 & 和 &&

#彻底搞懂 c++ 函数参数的 & 和 &&| 来源: 网络整理| 查看: 265

&

如果你在网上看到 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