Comment puis-je redimensionner un vecteur 2D d'objets, compte tenu de la largeur et de la hauteur?
Ma classe, GameBoard
, a une variable de membre est un vecteur 2D d'un objet de la classe Tile
. Le GameBoard
constructeur prend la largeur et la hauteur en tant que paramètres.
Comment puis-je obtenir la 2D vectoriel de Tile
objets pour redimensionner en fonction de la largeur et de la hauteur transmis au constructeur? Comment puis-je le remplir avec de l' Tile
objets afin que je puisse faire quelque chose comme cela?
myVector[i][j].getDisplayChar();
Extrait de
m_vvTiles.resize(iHeight);
for(auto it = m_vvTiles.begin(); it != m_vvTiles.end(); it++ ){
(*it).resize(iWidth,Tile(' '));
}
std::vector<>
n'est pas multidimensionnelle. Qui classe vector utilisez-vous?std::vector<std::vector<Carreaux>> m_vvTiles; Il fonctionne comme ça avec le type char
OriginalL'auteur Habit | 2013-04-08
Vous devez vous connecter pour publier un commentaire.
Vous avez pour redimensionner l'intérieur et l'extérieur des vecteurs séparément.
Je ne voulais pas assumer ce qui a été, la largeur de qui vs la taille puisque c'est entièrement à vous, et les hypothèses que vous avez faites dans votre programme. Si vous préférez pousser de redimensionner c'est très bien, mais vous avez à faire assurez-vous de pousser la bon nombre d'éléments, il sera plus grande sur la nouvelle extérieurs.
Ah ok. Ainsi, au lieu de le pousser à Carreau des objets, j'ai pu remplir lors de la redimensionner?
oui, vous pouvez mettre une valeur par défaut sur la
resize
appel.Cela pourrait-il fonctionner avec de l'extrait de code j'ai juste ajouté? Merci pour votre aide!
OriginalL'auteur Mark Ransom
Vous n'avez pas besoin d'une boucle pour redimensionner un vecteur à 2 dimensions (matrice). Vous pouvez simplement faire ce qui suit une ligne de redimensionnement() appel:
Espère que ça aide!
OriginalL'auteur erol yeniaras
Nous pouvons également utiliser une seule ligne de code:
Si le code est constamment changer les dimensions et la matrice est parfois rétrécissement aussi alors avant de re-dimensionnement effacer l'ancien état de la matrice(vectoriel 2D)
OriginalL'auteur ravi_kumar_yadav