Der Pointerwert von test und *terry sind aber nicht identisch.
Naja, jetzt hab ich das mal so aufgefasst, wenn das Cout-Objekt einen String erkennt, wird dieser so ausgegebene, ist es ein Pointer der einen String erhält, wird dieser anstelle der Speicheradresse ausgegeben. Hoffe das ist so jetzt korrekt.

=============================

Andere Frage noch zu C++:
In dem einglischen Tutorial von oben hieß es, dass es keinen Typen für Strings gibt, demnach nutzt man da Arrays oder Pointer welche die Zahlenketten speichern, so wie oben, der Pointer. So stehts im englischen Tutorial:
Zitat Zitat
In C++ there is no specific elemental variable type to store strings of characters. In order to fulfill this feature we can use arrays of type char, which are successions of char elements. Remember that this data type (char) is the one used to store a single character, for that reason arrays of them are generally used to make strings of single characters.
In diesem deutschen Tutorial heißt es jetzt, es gibt einen Typ "String" welchen man da nimmt:
Zitat Zitat
Um einem char einen Buchstaben zuzuweisen darf man nicht char c="a"; schreiben, sondern man muss 'a' schreiben. Denn "a" ist ein String (Zeichenkette) und 'a' ein zeichen
Warum das so ist, behandeln wir später. Wichtig für uns ist: wenn wir einen String (Zeichenkette) verwenden wollen, dann verwenden wir string als Variablentyp:
Tutorial: http://tutorial.schornboeck.net/variablen.htm

Das ist der Code welcher als Beispiel für Strings gepostet wird:
Code:
    #include<string> //für string
    #include<iostream>
    using namespace std;

    int main()
    {
        string str="Hallo Welt";
        cout<<str<<"\n";
    }
Da jetzt meine Frage, was ist die gängige oder korrekte Methode, oder überhaupt erstmal, wer hat Recht? Gibt es diesen Typ "String" wirklich als Typus oder was ist das? Ich hab früher mal gehört, dass alle Strings in C++ Pointer sind (ein Array ist ja auch ein Pointer) und es somit keinen Typ "String" gibt. Jetzt taucht der hier plötzlich auf. Kann mir da jamand genauer erklären was es damit auf sich hat?

Was ich mir dazu denke:
In PureBasic beispielsweise gibt es einen Typ "String", dieser ist allerdings nur ein fiktiver Typ. Denn bei Benutzung des Typs "String" wird ein Pointer erstellt der auf den Inhalt, also auf die Zeichenkette im Speicher weißt. Dadurch wird also ein Pointer erstellt welchen man aber nicht wie einen Pointer handhabt sondern wie eine Variable welche direkt den String enthält.
Jetzt noch die Frage dazu, könnte das so in C++ mit dem obigen Typ "String" genauso sein? Dass da auch intern ein Pointer erstellt wird und nicht eine Variable vom Typ "String"?
Ich hoffe hier findet sich jemand der da Ahnung von hat, ein wenig widersprüchig sind die Sachen in den Tutorials leider manchmal schon.

mfg.

Sunny