C++引用存在的意义

C++引用存在的意义

有了指针,C++为什么还要引入引用?

#前言

#C++已经从C语言处继承了指针,既然有了指针,那C++为什么还要引入引用呢?减少拷贝动作?指针也可以。本文不介绍什么是指针,什么是引用,也不介绍指针和引用的区别,这些你可以去我之前的文章查看。本文只介绍C++引入引用的原因。

直接原因

#为了支持运算符重载。直接看示例代码:

void f1(const complex* x, const complex* y) { // 没有引用

complex z = *x + *y; // 很丑

// ...

}

void f2(const complex& x, const complex& y) { // 有引用

complex z = x + y; // 更好

// ...

}

从这两段代码就可以看出来,如果使用指针,两个对象做运算需要先解指针,很丑,而且如果为了健壮性,还需要判断是否空指针。而有了引用,代码更好看简洁,还更安全。

建议

#应该使用引用还是指针?因为引用更安全方便,建议尽可能使用引用,必要时使用指针。当你不需要"重新赋值"时,通常更倾向于使用引用(指针才可以重新赋值,引用不可以)。

思考题

#参数传值应该引用传递还是指针传递?或者值传递?

参考链接

#What are the differences between a pointer variable and a reference variableReferences

相关推荐

生活中常见有趣的谜语
网上365不给提款的解决办法

生活中常见有趣的谜语

📅 07-19 👁️ 1436
QQ邮箱怎么改密码?详细步骤教你轻松修改
网上365不给提款的解决办法

QQ邮箱怎么改密码?详细步骤教你轻松修改

📅 07-24 👁️ 648
南京培训机构排名前十
365的账户被关闭

南京培训机构排名前十

📅 07-09 👁️ 4634
联通呼叫转移怎么设置方法
网上365不给提款的解决办法

联通呼叫转移怎么设置方法

📅 07-31 👁️ 7723