とやって、A.cppで、static A gA; などとグローバルインスタンスとして A を定義し、それをsingletonとして ポインタを返すメンバ関数をAに用意しておきます。 main.cppの方でそれを呼んで class Aのsingletonを使ってメンバ関数 をコールするというような使い方をする場合、 class Aのコンストラクタ、デストラクタはいつ呼ばれるのでしょうか? 多分、static A gA; がメモリー上に実際に生成される時だと思うんですが それっていつなんでしょうか?
>>210 3引数の関数とは例えば A * B * C を計算するような関数かな? でもこれを計算する場合でもtmp領域は必要だよ。 数学上、2項演算しか定義されてないから(それで十分だから) 2項の計算結果をどっかに保存しないと次項の演算に移れない。 ただし、3項以上の演算を定義することでtmp領域の確保回数を 減ずることはできる。 実際、newmatなんかは行列計算の開始宣言、終了宣言して2項毎の tmp確保を避けてたと思う(随分前に使ってたので記憶が定かでない)。