class Hoge {
Hoge(); Hoge(Hoge const &); /* ...ry */
public:
static Hoge * Create();
/* ↓どっちがいい?
static void Delete(Hoge *);
static void Delete(Hoge const *);
*/
};

上のように自動変数を封じたい場合にCreate/Delete関数を作る事があるけど、
この場合にDelete関数に渡すポインタはconstにするべきかしないべきかどちらだろうか
オブジェクトを破壊しているから非constにするべきだ、という主張と
Hoge const *で生成物を受け取った場合にconst_castなしで破棄できないのは見苦しいからconstにするべきだ、という主張が在って迷ってる