|
如题,对比一下如下两个函数:
const string& getConst(){
const string &a = "abcdefg";
return a;
}
const string getConst(){
const string &a = "abcdefg";
return a;
}
请问第一个的返回值是什么意思?我试验过了,两个都不会报错,但一个打印出来是乱码,但也看不出是什么意思,好像不是地址,不知道是哈意思。
有大佬能解答一下吗?谢谢。
补充:
另外在问一句,函数开头返回值的修饰符“const”是不是没有必要?我试了一下,有没有它都无所谓啊,但是,当你接收这个函数的返回值时,你定义的变量就不能省略这个“const”了,否则直接报错。
如下所示:
string getConst(){
const string &a = "abcdefg";
return a;
}
int main(){
const string &a = getConst(); // 注意,这里的const不能省略,否则报错。
cout |
|