namespace function object (NFO) アプローチ

昨日のCAIAFは機能面での意味から名前を付けたが、少々長いし覚えづらい。


結局、

  • 関数内のネストした関数の中で関数の外の変数(intなど)が再結合できない
  • 関数の呼び出し側の階層で関数の中の変数が参照できない

のを、

  • ダミーの関数の中に変数や関数などの属性を詰め込んで、それを介してアクセスする

というのがCAIAFのアプローチである。


アプローチの面から命名すると、(ダミーの)関数を名前空間として利用して、インスタンスの概念も有するということなので、namespace function object(名前空間関数オブジェクト)と命名することにした。これなら覚えやすい。