Ich entschuldige mich, dass ich immer noch sehr neu mit C++ bin, so dass Ihre Geduld geschätzt wird.Wie C++ Array mit einem Zeiger auf das erste Element zuweisen?
Als Teil einer nicht veränderbaren Einschränkung in meinem Projekt muss ich einen Vektor in ein Array konvertieren. Auf der Suche nach einer Lösung bin ich immer wieder auf Antworten wie this one gestoßen.
Wie ich verstehe, gibt diese Lösung Ihnen einen Zeiger auf das erste Element im Vektor - und da ein Vektor garantiert im Speicher zusammenhängend ist, können Sie das Array so einstellen, dass es auf diesen Speicherort (oder etwas ähnliches) zeigt Das).
Meine Frage ist jedoch, wie genau mache ich das in C++? Die Antwort scheint darauf hinzudeuten, dass es trivial ist, aber ich kann nicht finden, wie es geht.
Ich habe Dinge dieser Art versucht, aber sie funktionieren nicht ....
std::vector<double> v;
double* a = &v[0];
double myArray[100];
&myArray[0] = a;
einen Zeiger auf das erste Element in einer Folge gegeben, wie ich dann diesen Zeiger verwenden, um ‚bevöl ' eine Anordnung? Muss ich mich um Größenunterschiede/Out-of-Bound-Probleme kümmern? Könnte ich das auch umgekehrt machen (einen Vektor mit einem Zeiger auf das erste Element eines Arrays auffüllen)?
'double * a = &v[0];' sollte funktionieren – Rakete1111
@ Rakete1111 Also kann ich dann ein Array verwenden? z.B. a [3] = 1,5; – jEsp
Das ist richtig :) – Rakete1111