2011-02-15 6 views
4

나는 const 문자열 & 값을 인수로 취하는 함수가 있습니다. 함수에서 조작 할 수 있도록이 문자열의 값을 가져 오려고합니다. 그래서 나는 문자열 returnVal에 값을 저장할하지만이 작동하지 않습니다 값이 포인터하지만 필요하지 않은 참조가 아니기 때문에C++에서 const string & 값을 얻는 방법

string returnVal = *value

답변

6

단순히

string returnVal = value; 

을 pointer-dereferencing-operator (그렇지 않으면 const string * value).

2
string returnVal = value; 

값은 참조 그리고 당신은 평범한 구식 값과 상대하고있는 것처럼 구문은 동일, 비 참조 필요가 포인터가 아닙니다.

0

은 왜 그냥과 같이, 지역 변수를 만들 :

어쨌든 문자열을 수정하려고하기 때문에
void foo(const std::string &value) 
{ 
    string returnVal(value); 

    // Do something with returnVal 

    return returnVal; 
} 
1

, 왜 그냥 값으로 전달할?

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. 
} 
관련 문제