Java-Verweise sind C++ Pointern viel näher als C++-Referenzen. In Java können Sie Folgendes mit einem Verweis tun:
- Ändern, auf welches Objekt es verweist
- Überprüfen, ob zwei Verweise gleich oder ungleich sind
- Nachrichten an das referenzierte Objekt senden.
In C++ haben Pointer diese Eigenschaften. Daher ist der Code, den Sie in C++ suchen, etwas wie
float* f = new float;
Was völlig legal ist. Für einen besseren Vergleich, dieser Java-Code:
String myString = new String("Das ist ein String!"); // Normalerweise würde ich hier keinen String zuweisen, aber nur für die parallele Struktur werden wir das tun.
System.out.println(myString.length());
/* Weisen Sie myString zu, um auf ein anderes String-Objekt zu zeigen. */
myString = new String("Hier ist ein weiterer String!");
System.out.println(myString.length());
würde diesem C++-Code entsprechen:
std::string* myString = new std::string("Das ist ein String");
std::cout << myString->length() << std::endl;
delete myString; // Kein GC in C++!
/* Weisen Sie myString zu, um auf ein anderes String-Objekt zu zeigen. */
myString = new std::string("Hier ist ein weiterer String!");
std::cout << myString->length() << std::endl;
delete myString; // Kein GC in C++!
Hoffentlich hilft das!