C++中vector&v这种写法是什么意思啊该如何处理

C++中vector<Shape>&v这种写法是什么意思啊?
我是个初学者,在《C++程序设计语言》里看到了这样的一个写法,我不太明白&的用法,都是什么情况下,函数的调用参数或者函数的定义中会使用到这个字符呢?都是取地址的意思吗?谁能帮忙解释下。。。。万分感谢。。。。。
C/C++ code
void rotate_all(vector<Shape>&v,int angle)//将v的所有元素旋转angle度
{
   for(int i=0;i<v.size();++i)
   v[i]->rotate(angle);
}


------解决方案--------------------
探讨
引用:

vector<Shape>&amp;amp;v,int angle


这就是2个参数嘛。
第一个是stl的容器。是Shape类型结构体的指针
第二个integer 类型的angle


能说下&amp;通常都怎么用吗?每个不同的使用都是什么意思呢?