함수에 전달할 매개 변수의 긴 목록을 보유 할 클래스를 만들려고합니다. 이 짧은 예제를 사용 해보겠습니다.C++ 개인 포인터 "유출"?
class ParamList{
public:
ParamList(string& a_string);
string& getString(); //returns my_string
private:
string& my_string;
}
내 질문은 : my_string은 비공개이지만 아직 그것에 대한 참조를 반환합니다. C++에서 개인 포인터가 누출되는 것과 같은 것이 아닌가요? 이것은 좋은 프로그래밍 습관이 아닌가? getString의 호출자가 참조를 가져 와서 수정할 수있게하려고합니다.
알려 주시기 바랍니다.
감사합니다, jbu
EDIT1 : 발신자에는 getString을 (사용) 및 반환 된 문자열을 수정할 수 있습니다.
당신이하고있는 일을 정확하게 알지 못한다면 회원으로 언급하는 것은 모호한 습관입니다. 그러나이 코드에는 어떤 포인터도 보이지 않습니다. –
확인. 내가 뭘하는지 모르겠다. my_string이 포인터이고 getString이 문자열에 대한 포인터를 반환하면 어떨까요? – jbu
여전히'const string * '을 반환해야합니다. – David