7월 14, 2016

[EC++ 06] Explicityly disallow the use of compiler-generated functions you do not want.

  • 방법1. member function을 private으로 선언하고 implementing을 하지 않음.
  • 방법2. member function call을 막는 base class를 생성하고 이를 상속함.
  • 단, 이 경우 multiple inheritance 가 되어 empty base class optimization (Item 40) 같은 몇가지 사소한 문제를 일으킬 수 있음.


Summary

  • To disallow functionality automatically provided by compilers, declare the corresponding member functions private and give no implementations. Using a base class like Uncopyable is one way to do this.

Reference

  • Effective C++ by Scott Meyers

댓글 없음:

댓글 쓰기