리소스는 획득하고 나중에 해체해야 한다. new에 의해서 획득된 메모리나 fopen()에 의해 열리고 fclose()에 의해 닫힌 파일은 리소스에 대한 가장 직접적인 핸들이 포인터인 리소스의 예다. 이것은 포인터가 프로그램에 쉽게 전달되고 리소스를 소유한 포인터와 리소스를 소유하지 않은 포인터를 구별하는 유형 시스템이 없기 때문에 혼란스러울 수 있다. void confused(int∗ p) { // delete p? } int global {7}; void f() { X∗ pn = new int{7}; int i {7}; int q = &i; confused(pn); confused(q); confused(&global); } 만약에 confused()가 p를 삭제하면 프로그램은 두 번째 두 호출에 대해..