对象矢量,删除和放置对象

时间:2015-05-06 10:07:00

标签: c++ object vector element

我想要一个矢量对象的矢量,让我们说一个象棋类的2d矢量。

我希望能够在矢量中的每个位置检查其中是否存在chessPiece。我也想更改它,例如将新的ChessPiece对象放在矢量位置或删除它但不更改2D矢量的大小。

我该怎么办? 我可以用空对象填充2D矢量吗?因为在开始时我在棋盘上只有32/64个棋子。但是在移动之后我想要vector<vector<Piece> >[1][0]vector<vector<Piece> >[0][0]获取对象,然后删除vector<vector<Piece> >[1][0]的对象

1 个答案:

答案 0 :(得分:0)

好的,如果你还想要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;
}

你应该像我一样为你的指针分配内存,然后为每一个你可以分配棋子(使用&#39; new&#39;)或删除(使用&#39;删除&#39;)< / p>