比如我们有一个函数为foo(string& str)。
然后我们如果传入foo(“我真是大聪明”)的话,程序就会报错。
这是因为,我们函数参数是一种引用的类型,也就以为着,我们可以在函数中修改str,然后传入str的那个变量也会跟着被修改。但是实际情况是“我是大聪明”这句话不是一个变量,在foo函数中是无法改变的,这就引发了程序报错。
所以我们要在foo函数的参数之前,声明const string& str;这样就可以啦。
比如我们有一个函数为foo(string& str)。
然后我们如果传入foo(“我真是大聪明”)的话,程序就会报错。
这是因为,我们函数参数是一种引用的类型,也就以为着,我们可以在函数中修改str,然后传入str的那个变量也会跟着被修改。但是实际情况是“我是大聪明”这句话不是一个变量,在foo函数中是无法改变的,这就引发了程序报错。
所以我们要在foo函数的参数之前,声明const string& str;这样就可以啦。