У меня в основном куб с номерами 1-6 (для монополии, например), хранящейся вC++ подпрограммы вектора <вектора <short>> указатель
vector<vector<short> > cube;
это выглядит следующим образом:
0300
5126
0400
У меня есть код для вращения его вверх:
short tmp=cube[0][1];
cube[0][1]=cube[1][1];
cube[1][1]=cube[2][1];
cube[2][1]=tmp;
Мой вопрос, как я могу создать функцию из этого кода с указатели или что-то simmilar, поэтому мне не нужно копировать этот вектор в функцию, но просто изменить существующий вектор? Что-то вроде:
void rotateCubeUp(vector<vector<short> >cube){
short tmp=cube[0][1];
cube[0][1]=cube[1][1];
cube[1][1]=cube[2][1];
cube[2][1]=tmp;
}
Но это без указателей.
Передайте вектор по ссылке, а не по значению. – PaulMcKenzie
'vector>' не похоже на разумное представление для матрицы. Стандартная матрица целиком изображена в том, что она левая или правая, и, скажем, какая сторона направлена вверх и какая сторона обращена к фронту. В основном это всего лишь 60 конфигураций; и вращения могут быть сохранены в виде перестановок из них. –
Повторение [мой предыдущий совет] (http://stackoverflow.com/a/28087605/560648): отбросьте этот вложенный векторный бизнес. –