I have a function taking double\* 

```
void funct(double*); 

```

and I have a vector: 

```
std::vector<double> myVec; 

```

how should I correctly and safely call funct(myVec)? 

not safe: 

```
funct(&myVec[0]);
funct(&*myVec.begin());

```

not nice to be read:

```
funct( myVec.empty()? NULL : &myVec[0]);
funct( myVec.empty()? NULL : &*myVec.begin());

```

any suggestion? 

What's the standard approach?