타입변환이 모든 매개변수에 적용된다면? 그 함수는 비멤버로(effective c++ 24)
2015. 8. 25. 17:14ㆍ프로그래밍/Effective C++
728x90
728x90
예시
- 어떤 함수에 들어가는 모든 매개변수(this 포인터가 가리키는 객체도 포함해서)에 대해 타입 변환을 해 줄 필요가 있다면, 그 함수는 비 멤버 함수여야 한다.
- 암시적 타입 변환에 대해 매개변수가 적용되려면 매개변수 리스트에 들어있어야 한다는 것.(말이 너무 어렵다!!!!)
해결
보통 프렌드로 비맴버 함수로 구현했었는데. 변환생성자에 explicit를 안쓰면 뭔가 깨림찍..
728x90
반응형
'프로그래밍 > Effective C++' 카테고리의 다른 글
캐스팅 절약(effective c++ 27) (0) | 2015.09.04 |
---|---|
변수 정의 최대한 늦추기(effective c++ 26) (0) | 2015.08.25 |
예외를 던지지않는 swap(effective c++ 25) (0) | 2015.08.25 |
멤버 함수보단 비멤버 비프렌드 함수를!(effective c++ 23) (0) | 2015.08.25 |
데이터 멤버는 private(effective c++ 22) (0) | 2015.08.25 |
함수에서 객체 반환시 참조로 X(effective c++ 21) (0) | 2015.08.23 |
클래스 설계는 타입 설계와 같이 보자(effective c++ 19) (0) | 2015.08.20 |