我基本上有一个存储在
中的数字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;
}
但这没有指针。
答案 0 :(得分:1)
通过引用传递向量。参考只是一个别名。请阅读有关参考资料以及何时使用它的详细信息。它在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”而不是“[]”。 []不提供索引检查。