引用---引用型参数

来源:互联网 发布:手机淘宝图片不清晰 编辑:程序博客网 时间:2024/06/08 16:14

引用型参数

一.函数的形参是实参的别名

•可以将函数的形参声明为引用形式,该形参在参数传递过程中由对应位置的实参初始化,并成为该实参的别名

void fun (int& formal) {     cout << &formal << " : " << formal << endl; }–int actual = 10;  cout << &actual << " : " << actual << endl;  fun (actual);

这里写图片描述

二.在函数中修改实参值

•通过引用型形参,可以在函数体内部修改调用者实参的值,成为除返回值和指针参数之外,第三种由函数内部向函数外部输出数据的途径

double rect (double w, double h, double* c, double& s)  {     *c = (w + h) * 2;     s = w * h;     return sqrt (w * w + h * h);  }–   double c, s, d = rect (4, 3, &c, s);     cout << "对角线长度:" << d << endl;     cout << "矩形的周长:" << c << endl;     cout << "矩形的面积:" << s << endl;

三.避免对象复制的开销

•通过引用传递参数,形参只是实参的别名而非副本,这就避免了从实参到形参的对象复制,这对于具有复杂数据结构的参数类型而言意义非常

–struct User {     char name[64];     char address[256];     char mbox[128]; };–void insert (User& user) { ... }–User user = { ... };  insert (user);
原创粉丝点击