컴파일러에서 자동으로 제공하는 기능을 허용하지 않으려면 대응되는 멤버 함수를 private로 선언한 후 구현하지 않은 채로 두면 된다. Uncopyable과 비슷한 기본 클래스를 사용하는 것도 좋다 컴파일러가 만든 함수 관리 컴파일러는 생성자, 소멸자, 복사 생성자, 복사 대입 연산자 등을 필요시에 만들어 낸다. 하지만, 때에 따라 이러한 것들이 허용되지 않게 막고 싶을 수 있다. class HomeForSale { ... }; // 부동산 객체 HomeForSale h1; HomeForSale h2; HomeForSale h3(h1); // h1 복사 시도 h1 = h2; // h2 복사 시도 모든 자산은 세상에 단 하나밖에 없다. 하지만, 위의 코드에서는 복사하려는 시도를 하고 있다. 이러한 시도 자..