3D グリッドで動作するプログラムがあります。このグリッドには、次のような独自のクラス オブジェクト Grid があります (簡略化されたバージョン)。
class Grid
{
public:
Grid() { readDataFromInputFile(); }
private:
void readDataFromInputFile() {...} // this function reads the values for i, j, k from disk
int i; int j; int k;
};
私が今やりたいことは、変数 i、j、k を const int として設定できるようにして、他の関数で誤って混乱させないようにすることです。ただし、ファイルから読み取る必要があるため、メンバー初期化子リストに簡単に設定することはできません。既存の議論を閲覧してきましたが、この問題に関する正確な議論を見つけることができませんでした。
それらをconstとして設定し、複雑な関数を使用してデータを取得できるソリューションはありますか? 私の実際のアプリケーションでは、もちろん、初期化後に変更することを許可されていない、もっと多くの変数を読み取る必要があります。