RAII
以下、特に断りがない限り、C++03以前でもC++11以降でもコンパイルできるコードで例示する。