Zeiger auf erstes std::vector element
-
Liebe Community,
ich habe eine Funktion funk(double *x)
und einen vector<double> a .
Ich möchte jetzt gerne einen Zeiger auf das erste Element von a haben, das ich dan an funk übergeben kann.
Kann mir jemand sagen wie ich da vorgehen muss?
Hab mit begin() und at() rumgespielt, das funktioniert leider nicht.MfG BTK
-
&a[0]
-
Oder seit C++11 auch:
a.data();
-
assert(!a.empty()); funk(&a.front());
-
Nachtrag:
a.data();ist auch für leere Container gültig. Anders als bei&a[0]und&a.front();muss man also nicht vorher prüfen ob der vector leer ist.
-
Hab mit begin() und at() rumgespielt, das funktioniert leider nicht.
funk(&*a.begin());
funk(&a[0]);
funk(&a.front());
funk(a.data());
funk(&a.data()[0]);usw.