关于这个函数声明的有关问题const string & version(string & s1,const string & s2)

关于这个函数声明的问题const string & version(string & s1,const string & s2);
我知道括号里面的第一个参数是string类的引用参数,第二个参数是不可以修改值的string类引用参数,这样对吗?那么函数名前面的const string & 这个是什么意思呢?

------解决方案--------------------
意思是返回一个值不可以被修改的string类型的引用
------解决方案--------------------
探讨

意思是返回一个值不可以被修改的string类型的引用