私はこれを正しく行っていますか?キーとして整数を持ち、値として構造体を持つマップが必要です。でオブジェクトが欲しいと言う最も簡単な方法は何ですか1
。の値を取得するにはどうすればよいisIncluded
ですか?コードの最後の2行で試してみましたが、番号付きのMap配列で構造体の値を取得する方法がよくわからないことに気付きました。
その値を取得するために、それを呼び出しcells.get(1)
て新しい一時的な構造体に割り当てる必要がありますか?
/** set ups cells map. with initial state of all cells and their info*/
void setExcludedCells (int dimension)
{
// Sets initial state for cells
cellInfo getCellInfo;
getCellInfo.isIncluded = false;
getCellInfo.north = 0;
getCellInfo.south = 0;
getCellInfo.west = 0;
getCellInfo.east = 0;
for (int i = 1; i <= (pow(dimension, 2)); i++)
{
cells.put(i, getCellInfo);
}
cout << "Cells map initialized. Set [" << + cells.size() << "] cells to excluded: " << endl;
cells.get(getCellInfo.isIncluded);
cells.get(1);
}
Mapは、次のようにプライベートインスタンス変数として宣言されます。
struct cellInfo {
bool isIncluded;
int north; // If value is 0, that direction is not applicable (border of grid).
int south;
int west;
int east;
};
Map<int, cellInfo> cells; // Keeps track over included /excluded cells