B
Fencer schrieb:
1.gibt es eine bessere/schönere/einfachere Methode um diesen Pointer zu erlangen
Nicht wirklich. Ich würde die Klammern weglassen, aber das wars dann auch schon. Bei manchen Implementierungen ist vector<T>::iterator schon ein Pointer, aber es ist offensichtlich nicht sehr gentleman-like, sich darauf zu verlassen.
2.wie kann ich herausfinden, ob das objekt auf das er zeigt noch gültig ist, beziehungsweise nicht gelöscht wurde (wenn es so ist müsste es doch beim Zugriff einen Segmantation Fault geben oder??)
Leider gar nicht. Du musst selbst dafür sorgen, dass du keine Operationen auf dem Vektor ausführst, die den Pointer invalidieren. Welche das sind, ist im Standard genau spezifiziert. Man kann sich das aber auch selbst denken ... alles was mit Verschieben zu tun hat, ist schon mal heikel, Neuallokationen (bei push_back über die reservierte Größe hinweg) invalidieren sofort alle Iteratoren und Pointer.
Wenn du einen Container brauchst, bei dem sowas nicht passiert, solltest du vielleicht list benutzen.