这里是来自C++ Primer的一个例子:
一个名为count()
的函数被声明为:
int count(const string & a, char b);
并被称为:
count("abcde", 'a')
它可以工作。这里的"abcde"
是一个字符串字面量,并作为const string &
传递给count()
。
但同时,这段代码
string & s="abcde";
之前的错误是因为我们不能将 string
字面量分配给 string &
。
那么当 "abcde"
被传递给 count()
时会发生什么呢?是否会有一个临时字符串被 "abcde"
初始化,然后传递给 count()
?
const
。 - Alan Stokes