Вектор объектов, удалять и размещать объекты

Я хочу иметь вектор вектора объектов, скажем, двумерный вектор класса chessPiece.

Я хочу, чтобы для каждой позиции в векторе можно было проверить, есть ли шахматная фигура внутри нее. Также я хочу изменить ее, например, поместить новый объект ChessPiece в векторную позицию или удалить его, но без изменения размера элемента. 2D вектор.

Что я должен делать? Могу ли я заполнить 2D-вектор нулевыми объектами? Потому что в начале у меня на доске только 32/64 шахматных фигур. Однако после переезда я хочу, например, vector<vector<Piece> >[1][0] взять объект из vector<vector<Piece> >[0][0] а затем удалите объект vector<vector<Piece> >[1][0],

1 ответ

Решение

Хорошо, если вы все еще хотите 2D вектор, вы можете сделать это так:

vector< vector< ChessPiece* > > board;

int main()
{
     board.resize( 8 );
     for( int i = 0; i < board.size(); ++i )
     {
         board[i].resize( 8 );
         board[i].assign( 8, NULL );
     }

     board[0][0] = new ChessPiece();
     delete board[0][0];


return 0;
}

Вы должны выделить память для ваших указателей, как я сделал, а затем для каждого ceil вы можете выделить шахматную фигуру (используя "новый") или удалить (используя "удалить")

Другие вопросы по тегам