小弟最近被限定符const弄晕了,在此恳请大神指教~
1>第一种情况,const修饰指针和引用
因为const修饰引用或者指针,所以形参是和实参紧密的"绑"在一起,所以在这种情况下,如果实参是const,那么形参必须是const.
当然,形参是const,实参也可以是非const,,因为可以将非const 赋值给const.这也是为什么很多情况下将形参修饰为const.
2>第二种情况:const修饰普通形参
因为函数的传递实际上将实参的副本传递给形参,这里我认为这个副本是不具有const属性的(即使实参是const,它的副本也是不具有const属性的).
所以这里不要求形参是否具有const属性.如果函数形参此时仍然是const,我认为这里是想告诉读者,在这个函数中,不可修改这个形参的值,仅此而已.
请问大神:上面小弟的理解正确吗?尤其是红色部分和蓝色部分,恳请大神指教~