关于const函数形参的引用问题

c++中,const引用的形参可以不用复制实参,那么非const引用形参是否要复制实参呢?什么情况下形参要复制实参呢?复制的具体含义是什么?

首先看函数调用时形参数据会被拷贝至寄存器或者调度栈内,引用的形参和实参关系,形参和实参都指向同一块内存区域,引用相当于指针,实参将其地址复制给形参,再看非引用形参和实参,则是值拷贝。const 只是告诉编译器函数调度中其修饰参数只读。

复制不复制是编译器的事情,只要保证const修饰的参数在编程者看来不被修改就可以了。

对象类型参数都可能会引发复制,想不复制就用指针,引用等
const只是修改对象的可读属性

参数是引用就不会复制,形参指向实参,const表示不允许修改其成员。