Java-ссылки намного ближе к C ++ указателям , чем к C ++ ссылкам .В Java вы можете сделать следующее со ссылкой:
- Изменить, к какому объекту он относится
- Проверить, равны или не равны две ссылки
- Отправлять сообщения наобъект ссылки.
В C ++ указатели имеют те же свойства.В результате код, который вы ищете в C ++, выглядит примерно так:
float* f = new float;
Это совершенно законно.Для лучшего сравнения этот код Java:
String myString = new String("This is a string!"); // Normally I wouldn't allocate a string here, but just for the parallel structure we will.
System.out.println(myString.length());
/* Reassign myString to point to a different string object. */
myString = new String("Here's another string!");
System.out.println(myString.length());
будет соответствовать этому коду C ++:
std::string* myString = new std::string("This is a string");
std::cout << myString->length() << std::endl;
delete myString; // No GC in C++!
/* Reassign myString to point to a different string object. */
myString = new std::string("Here's another string!");
std::cout << myString->length() << std::endl;
delete myString; // No GC in C++!
Надеюсь, это поможет!