変数は常にスタック上ではなくヒープ上にある必要があるという珍しい要件があります。今私は、単純にポインタを取り、それに対して削除を呼び出すクラスのプライベートデストラクタと静的メソッドを使用してこれを試みました。
Class A
{
public :
static void method(const A* ptr)
{
delete ptr;
}
private :
~A();
};
しかし今、私はより良い代替案を知りたいと思っています.1つのことは、変数がスタック上にあるかヒープ上にあるかを確認するために各メソッドに事前チェックを追加できれば、静的メソッドを宣言する必要がないということです。誰でもその方法を教えてもらえますか? sbrk(0) または pthread API を使用して現在のスタックの境界を取得し、それをクラス変数のアドレスと比較しますが、移植性はありません。
ありがとうニラジ・ラティ