C++编程思想 第1卷 第3章 C++引用

C++除了指针给函数传递地址,还有引用传递 pass-by-reference

带引用的函数调用比带指针的函数调用更清晰


//: C03:PassReference.cpp
// From Thinking in C++, 2nd Edition
// Available at http://www.BruceEckel.com
// (c) Bruce Eckel 2000
// Copyright notice in Copyright.txt
#include <iostream>
using namespace std;

void f(int& r) {
  cout << "r = " << r << endl;
  cout << "&r = " << &r << endl;
  r = 5;
  cout << "r = " << r << endl;
}

int main() {
  int x = 47;
  cout << "x = " << x << endl;
  cout << "&x = " << &x << endl;
  f(x); // Looks like pass-by-value, 
        // is actually pass by reference
  cout << "x = " << x << endl;
  getchar();
} ///:~


在函数f()参数列表中,不用int*传递指针,而是用int&传递引用
已经不是值的拷贝在传递参数了
引用是使用地址传递参数
引用传递是语法糖 相当于指针


输出
x = 47
&x = 0133F838
r = 47
&r = 0133F838
r = 5
x = 5

猜你喜欢

转载自blog.csdn.net/eyetired/article/details/80603699