항목 18: 인터페이스 설계는 제대로 쓰기엔 쉽게, 엉터리로 쓰기엔 어렵게 하자 인터페이스는 일관성 있는 네이밍, 새로운 타입을 제공하여 함수 인자로 받도록 하여 잘못된 동작 사용 못하도록 하기, 자원 관리 책임을 사용자에게 주지 않기 등이 있다. shared_ptr 을 사용하면 자원에 대한 권한은 라이브러리에 있게 된다. 항목 19: 클래스 설계는 타입 설계와 똑같이 취급하자 클래스를 설계할 때는 기본 타입을 정의하는 것만큼 고민을 하자. 책에 정리되어 있는 모든 고려사항을 참고하여 클래스를 짜 보도록 하자. 항목 20: '값에 의한 전달'보다는 '상수객체 참조자에 의한 전달'방식을 택하는 편이 대개 낫다 함수를 호출할때 기본타입을 제외하고는 복사 생성자가 호출될 가능성을 없애기 위해, 상수객체 참조자..