A ver si el siguiente ejemplo aclara un poco, son dos vectores (int e int*), con el primero no puedo modificar los valores originales:
Código C++:
Ver original#include <iostream>
#include <vector>
using namespace std;
int main(){
int a = 1;
int b = 2;
int c = 3;
vector<int> v1;
v1.push_back(a);
v1.push_back(b);
v1.push_back(c);
v1[0] = 10;
v1[2] = 20;
v1[3] = 30;
cout << a << " " << b << " " << c << endl;
vector<int*> v2;
v2.push_back(&a);
v2.push_back(&b);
v2.push_back(&c);
*v2[0] = 10;
*v2[1] = 20;
*v2[2] = 30;
cout << a << " " << b << " " << c << endl;
return 0;
}