[英]What happens when a string literal is passed to a function accepting a const std::string & in C++?
[英]What happens when a string literal passed as const string& to a function?
以下是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()
?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.