• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    해결됨

예외 클래스에서 catch 안의 데이터형이 참조자인 이유

24.01.17 06:43 작성 조회수 156

0

안녕하세요. 강의 잘 보고 있습니다.

강의를 듣다가 궁금한 것이 생겨서 질문 드립니다.

 

catch(MyException &exp)
{
// 생략
}

이 강의 예제에서 catch의 예외 데이터형에 클래스 참조자를 받도록 하였는데 만약 아래처럼 참조자를 사용하지 않으면 복사생성이 되나요?

catch(MyException exp)
{
// 생략
}

 

답변 1

답변을 작성해보세요.

2

네, 맞습니다. 복사 생성과 함께 불필요한 객체가 하나 더 생겨 상대적으로 효율이 떨어진다 하겠습니다. 함수의 매개변수가 class라면 일단 참조형식으로 만드는 것이 정답입니다. 물론 예외처리에서도 동일합니다. 참고하시기 바랍니다. 😄