C++高手进来下!
……typedefvector<int>vi;typedefvector<vi>vvi;voidprint(constvi&);voidinput(vvi&);boolf...
……
typedef vector<int> vi;
typedef vector<vi> vvi;
void print(const vi&);
void input(vvi&);
bool findvec(const vvi&, vi&);
int main(){
vvi matrix;
input(matrix);
vi vec;
……
函数中的vvi&是什么意思?
主函数中的input(matrix)是把什么传递给了input(vvi&);主要还是这个vvi&是什么? 展开
typedef vector<int> vi;
typedef vector<vi> vvi;
void print(const vi&);
void input(vvi&);
bool findvec(const vvi&, vi&);
int main(){
vvi matrix;
input(matrix);
vi vec;
……
函数中的vvi&是什么意思?
主函数中的input(matrix)是把什么传递给了input(vvi&);主要还是这个vvi&是什么? 展开
2个回答
展开全部
变量引用,相当于是变量的别名。其实是另外一种类似于指针的实现。
在此程序中,由于typedef vector<vi> vvi;而typedef vector<int> vi;
所以,其实vvi是一种类型,是一个动态可变长的二维数组,即,行数可以变(动态增长),每一行的元素个数也可以变(即,行与行之间的元素个数可以不一样)。
input(matrix),相当于将matrix直接传进去了,所有在input中对matrix做的操作,都会直接影响matrix。这就是为什么说,引用是别名,是另外一种类似于指针的实现。
建议楼主参考c++有关书籍中,关于引用的章节,以及vector容器的章节。
在此程序中,由于typedef vector<vi> vvi;而typedef vector<int> vi;
所以,其实vvi是一种类型,是一个动态可变长的二维数组,即,行数可以变(动态增长),每一行的元素个数也可以变(即,行与行之间的元素个数可以不一样)。
input(matrix),相当于将matrix直接传进去了,所有在input中对matrix做的操作,都会直接影响matrix。这就是为什么说,引用是别名,是另外一种类似于指针的实现。
建议楼主参考c++有关书籍中,关于引用的章节,以及vector容器的章节。
更多追问追答
追问
变量引用&不是应该在变量之前的吗!例:
int a=5;
int &b=a;
追答
vvi是一种类型,就行int是一种类型一样。
你先去看vector和typedef吧。我说的应该很清楚了。
在此,再次说一遍,
由于typedef vector vvi;而typedef vector vi;
所以,其实vvi是一种类型,是一个动态可变长的二维数组,即,行数可以变(动态增长),每一行的元素个数也可以变(即,行与行之间的元素个数可以不一样)。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询