I am using a vector in c++,

```
vector<Agents> agentlist;

```

Why does this work,

```
(agentlist.begin() )->print();

```

and this not?

```
*(agentlist.begin() ).print();

```

Isn't it valid to dereference an iterator using `*`?