나는 const 문자열 & 값을 인수로 취하는 함수가 있습니다. 함수에서 조작 할 수 있도록이 문자열의 값을 가져 오려고합니다. 그래서 나는 문자열 returnVal에 값을 저장할하지만이 작동하지 않습니다 값이 포인터하지만 필요하지 않은 참조가 아니기 때문에C++에서 const string & 값을 얻는 방법
string returnVal = *value
나는 const 문자열 & 값을 인수로 취하는 함수가 있습니다. 함수에서 조작 할 수 있도록이 문자열의 값을 가져 오려고합니다. 그래서 나는 문자열 returnVal에 값을 저장할하지만이 작동하지 않습니다 값이 포인터하지만 필요하지 않은 참조가 아니기 때문에C++에서 const string & 값을 얻는 방법
string returnVal = *value
단순히
string returnVal = value;
을 pointer-dereferencing-operator (그렇지 않으면 const string * value).
string returnVal = value;
값은 참조 그리고 당신은 평범한 구식 값과 상대하고있는 것처럼 구문은 동일, 비 참조 필요가 포인터가 아닙니다.
은 왜 그냥과 같이, 지역 변수를 만들 :
어쨌든 문자열을 수정하려고하기 때문에void foo(const std::string &value)
{
string returnVal(value);
// Do something with returnVal
return returnVal;
}
, 왜 그냥 값으로 전달할?
void foo(std::string s)
{
// Now you can read from s and write to s in any way you want.
// The client will not notice since you are working with an independent copy.
}