5

オブジェクトの作成をパラメーター化する場合は、もちろん、特定のクラスでnewを呼び出し、ポインターを渡す関数を作成できます。そのステップをスキップして、関数ポインターをnewオペレーター自体に渡すことが可能かどうか疑問に思っています。

4

2 に答える 2

9

boost :: lambdaは、との関数ラッパーを提供ます。newdeletenewこれらは、呼び出しを関数オブジェクトに簡単に変換するために使用できます。

于 2011-07-07T01:42:25.657 に答える
2

operator new(他のフレーバーと同様に)メモリの割り当ては処理しますが、オブジェクトは作成しません。実際、その戻りタイプはvoid*です。オブジェクトを構成するのは新しい式であり、これは言語の一部であり、関数ではありません。したがって、ポインタまたはそれへの参照を形成することはできません。への参照を形成するのと同じくらい無意味returnです。

于 2011-07-07T01:41:14.300 に答える