I have a vertex class with many objects, e.g.

```
class Vertex{
    int i;
public:
    Vertex(const int & a):i(a){}
};

Vertex v1(1),v2(2)...v100(100);

```

Now I want to make 50 pairs, each pair linking two vertices. What is the best way to achieve this? I definitely don't want to do the following:

```
std::pair<const Vertex &, const Vertex &> p1(v1,v2);
...
std::pair<const Vertex &, const Vertex &> p50(v99,v100);

```

std::make\_pair seems to be a better choice. But it only accept values, not references, if I understand correctly. Thanks a lot.