QScriptEngine
class のオーバーロードされたクラス コンストラクターを介して渡しているへのポインターがあり、Evaluator
それをQScriptEngine *engine_
(クラスProperty
サブクラスEvaluator
、および のこのコンストラクターを呼び出しEvaluator
て、既に割り当てられている に渡しますQScriptEngine
) に割り当てます。引数のないコンストラクターは、新しいQScriptEngine
ポインターを作成します (この方法でクラスのGeneric
サブクラスEvaluator
を作成します)。デストラクタで、そうengine_
でないかどうかをテストNULL
し、ポインタを削除してから割り当てますNULL
。engine_
派生のポインター ( )Property
も にする必要がありますNULL
か? そうではないことを何かが教えてくれます。そうでない場合、この状況にどのように対処しますか? QScriptEngine
全体を通して同じインスタンスである必要があります。QScriptEngine
の = 演算子はプライベートです。または、ポインターをすべて一緒に回避します。
別のSOの質問で、共有ポインタ(boost::shared_ptr
および)に関する情報を見ました。std:tr1::shared_ptr
私はすでに正規表現ライブラリにブーストを使用しているので、これがこれに対処する最善の方法である場合、ブーストは問題外ではありません。一般的な C++ の知識と将来のプロジェクトのために、ブースト以外の方法があることを願っています。