• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    해결됨

CMyString Step10 강의 질문

24.04.28 15:52 작성 조회수 40

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* 변수에 대한 참조자 입니다. 참고하시기 바랍니다.