我想要一个矢量对象的矢量,让我们说一个象棋类的2d矢量。
我希望能够在矢量中的每个位置检查其中是否存在chessPiece。我也想更改它,例如将新的ChessPiece对象放在矢量位置或删除它但不更改2D矢量的大小。
我该怎么办?
我可以用空对象填充2D矢量吗?因为在开始时我在棋盘上只有32/64个棋子。但是在移动之后我想要vector<vector<Piece> >[1][0]
从vector<vector<Piece> >[0][0]
获取对象,然后删除vector<vector<Piece> >[1][0]
的对象
答案 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>