私は次のものを持っています
struct dweDMPair {
const dweller *occu;
const double sqDM;
float prob;
dweDMPair(dweller *inOccu, double sqdm) : occu(inOccu), sqDM(sqdm) {} };
これらのオブジェクトへのポインターの配列を返したいのですが、クライアントによって誤って削除されないようにしたいと考えています。または、そうではないかもしれませんが、この設計の反復を試してみてください。
私の質問は、メンバーがコンストラクターでのみ割り当てられることを (const プレフィックスで示したように) 指定する (非常に簡潔できちんとした) 方法はありますか?
private/public および interface/methods でこれをソートできることは知っていますが、ユーモアを交えながら、このconst
キーワードはどこまで悪用できるのでしょうか?
_編集_
私の目標は、コンストラクターで 3 つのデータ メンバーのうち 2 つを 1 回だけ初期化することです。次に、このインスタンスを const dweDMPair *ptrToVal としてエクスポートして、クライアントが delete を呼び出せないようにすることができます。その後、クライアントは 3 番目のメンバーに独自の値を指定しますprob
。ええ、関数が保護を強制することは知っていますが、より速くしたいです。
メンバーは静的ではなく、インスタンス メンバーにすることができます。迷っていたら..