C ++子程序向量<vector <short>&gt;指针</载体<短>

时间:2015-01-22 11:25:26

标签: c++ pointers vector

我基本上有一个存储在

中的数字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;
}

但这没有指针。

1 个答案:

答案 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”而不是“[]”。 []不提供索引检查。