더북(TheBook)

포인터에도 똑같이 적용한다.

double* square_ptr(double d)    // 이렇게 하지 마라!
{
    double s = d * d;
    return &s;
}

이 포인터는 스코프를 벗어난 지역 주소를 갖는다. 이를 댕글링 포인터(Dangling Pointer)라고 한다.

멤버 데이터를 참조할 때 멤버 함수에서 레퍼런스 또는 포인터를 반환할 수 있다. 자세한 내용은 2.6절을 보라.

Caution

동적으로 할당할 데이터, 함수를 호출하기 전의 데이터 또는 정적 데이터에 대한 포인터 및 레퍼런스만 반환하라.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.