我基本上有一个存储有数字1-6(例如,垄断)的多维数据集
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;
我的问题是如何使用指针或类似的东西从该代码创建函数,因此我不必将该向量复制到函数中,而只需更改现有向量?就像是:
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;
}
但这没有指针。
最佳答案
通过参考传递矢量。参考只是别名。请阅读有关参考以及何时详细使用它的信息。这是C ++中非常有用的概念。
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;
}
建议:访问向量元素时,使用“ at”代替“ []”。 []不提供索引检查。
关于c++ - C++子程序vector <vector <short>>指针,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28087584/