C/C++教程

C++中函数的参数加了&和const的作用

本文主要是介绍C++中函数的参数加了&和const的作用,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

例如下面这段代码

fun(int* in, const std::string& str)
{

}
  • 不加引用的话,str则被复制一份,函数中对str的操作实质上是对其复制品的操作,所以即使在函数中修改了str,调用层的原str并不会被改变。
  • 加了引用的话,传入的str即是调用层的实际参数,这样省却了复制过程,效率会有提高。但如果函数中修改了str,则原str也会改变,因为其实是同一个东西。
  • 有时候为了追求效率(防止传值时拷贝构造函数的调用开销),又希望避免改变原来的str,则可在引用的基础上加const修饰,这样函数中就不能再修改str的内容(否则会编译出错)。
这篇关于C++中函数的参数加了&和const的作用的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!