인프런 커뮤니티 질문&답변

davidkjcy님의 프로필 이미지
davidkjcy

작성한 질문수

C개발자를 위한 최소한의 C++

CMyString Step10 강의 질문

해결된 질문

작성

·

109

0

강의 2분 50초 쯤에 등장하는

virtual void onSetData(const char*& pParam)

에서 포인터 변수의 값을 바꾸기 위해 &참조자를 추가하셨습니다.

const가 붙은 시점에서 연산자 우선순위가 어떻길래 값이 변경가능해진 것인지 궁금합니다!

답변 1

0

널널한 개발자님의 프로필 이미지
널널한 개발자
지식공유자

const char*형에서 const가 수식하는 것은 포인터가 가리키는 대상인 char형 변수 입니다. 따라서 포인터 변수 자체는 값을 바꿀 수 있습니다. 다음 코드와 출력 결과를 보시기 바랍니다.

 

int main()
{
    const char* pszData01 = "Hello\n";
    const char* pszData02 = "World\n";
    std::cout << pszData01;
    std::cout << pszData02;
    pszData01 = pszData02;
    std::cout << pszData01;
}

[출력 결과]

Hello
World
World

 

const char* &param에서 param은 const char* 변수에 대한 참조자 입니다. 참고하시기 바랍니다.

davidkjcy님의 프로필 이미지
davidkjcy

작성한 질문수

질문하기