항목 29. 내부 데이터에 대한 "핸들"을 리턴하는 것을 피해라
우선
핸들이란?
1. C++에선 포인터나 레퍼런스를 말한다.(참조자를 뜻한다.)
다시 본론으로..
이유
1. 내부 데이터는 안정성을 보장하지 못한다.
해결 방법
1. .. 사용하지 마라! 이건 절대다!
2008/06/28 03:25 추가 해결방법 1의 경우, 절대 사용하지 않기보단 상황을 봐가면서 해야 한다고 다시 생각이 든다. 예를 들자면, .. 내부 데이터 객체가 20Byte가 넘는데 이녀석을 임시객체로 반환하기 보다는 상수성이 있는 핸들로 받아 온다면 충분히 성능 향상이 있기 때문이다.(.. 뭐 성능 향상은 알고리즘 개선 더 크겠지만;)
참조
1. 왜냐하면 내부 데이터는 리턴되고 나서 ; <-- 이것을 만나는 즉시 소멸되기 때문이다.
우선
핸들이란?
1. C++에선 포인터나 레퍼런스를 말한다.(참조자를 뜻한다.)
다시 본론으로..
이유
1. 내부 데이터는 안정성을 보장하지 못한다.
해결 방법
1. .. 사용하지 마라! 이건 절대다!
2008/06/28 03:25 추가 해결방법 1의 경우, 절대 사용하지 않기보단 상황을 봐가면서 해야 한다고 다시 생각이 든다. 예를 들자면, .. 내부 데이터 객체가 20Byte가 넘는데 이녀석을 임시객체로 반환하기 보다는 상수성이 있는 핸들로 받아 온다면 충분히 성능 향상이 있기 때문이다.(.. 뭐 성능 향상은 알고리즘 개선 더 크겠지만;)
참조
1. 왜냐하면 내부 데이터는 리턴되고 나서 ; <-- 이것을 만나는 즉시 소멸되기 때문이다.
'책 정리 > Effective C++ 2판' 카테고리의 다른 글
34. 파일간의 컴파일 의존성을 최소화 하라 (0) | 2008.05.11 |
---|---|
항목 33. 인라인을 선별적으로 사용하라. (0) | 2008.05.10 |
항목 32. 변수 정의는 가능한 뒤로 늦춰라 (0) | 2008.05.10 |
항목 31. 지역 객체에 대한 참조나 함수 내에서 new를 이용해 초기화된 포인터를 가리키는 참조를 리턴하지 말라 (0) | 2008.05.10 |
항목 30. 접근하기 어려운 멤버에 대한 비상수 포인터나 레퍼런스를 리턴하는 멤버 함수 사용을 피해라 (0) | 2008.05.10 |
클래스와 함수 : 구현 (0) | 2008.05.10 |
항목 28. 전역 네임스페이스를 분활한다. (0) | 2008.05.10 |
항목 27. 의도하지 않은 내부 생성 맴버 함수의 이용을 명시적으로 막는다. (0) | 2008.05.10 |
항목 26. 잠재적 모호성을 경계한다. (0) | 2008.05.10 |
항목 25. 포인터나 수치형 타입상의 오버로딩을 피한다. (0) | 2008.05.10 |
최근댓글