[Effective Modern C++] 항목 11. 정의되지 않은 비공개 함수보다 삭제된 함수를 선호하라
제목만 보면 내용이 어려워보일수 있는데 사실은 어렵지 않다. 다시 정리해보면 private 를 이용해 함수를 숨기지 말고 delete 키워드를 사용하라는 의미이다. 이렇게 고의적으로 함수를 없애는 경우는 우리가 많이 사용하는 싱글턴이나 팩토리 패턴들을 사용하는 경우이니 알아두는것이 좋다. 어떻게 다른지 예제를 보자. class MyObject { // private을 사용하는 경우 private: MyObject(); // delete 키워드를 사용하는 경우 public: MyObject() = delete; }; 여기서 delete 키워드를 사용한 경우에 public으로 사용한 것을 볼 수 있는데 이는 의도적으로 더 나은 오류 메시지를 받기 위함임을 알아두길 바란다. 위의 두 코드의 목적은 똑같다. 외..
C++/Effective Modern C++
2019. 10. 7. 22:01
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- Future
- 포인터
- const
- Effective
- 보편참조
- Override
- std::forward
- Perfect
- std::move
- Forwarding
- C++
- 보편 참조
- Unreal
- CPP
- C
- auto
- thread
- Modern
- 발아시기
- Join
- MOVE
- Effective Modern C++
- Overloading
- 다이소
- detach
- async
- forward
- 람다
- C++14
- C++11
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
글 보관함