はじめに 本当に怖いC++erとC++という糞言語 で「スマートポインタ(弱参照)に対する知識が無いC++erは嫌だ」と言われてしまったので、勉強することにした。 リソース管理 プログラムにおけるリソースとは、メモリやファイルなど、OSによって管理されているものを指す。C++では確保したリソースを解放する責任はプログラマが負っているため、解放忘れなどのミスによってリソースリークが起こり、デバッグに数時間/数日間苦しめられる場合もある。つまりC++を使う場合は、 確保したリソースは必ず一度だけ解放しなくてはならない という法則を肝に銘じてプログラミングを行う必要がある。 スマートポインタ 「確保したリソースをプログラマが忘れずに必ず一度だけ解放する必要がある」と言ったものの、これをプログラマが 常にミスすること無く 行うことは非常に難しく、できることならJavaやC#の様にリソース管理を言語