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++!
希望这可以帮助!
这篇博客探讨了Java中的引用与C语言中的指针之间的相似性。在Java中,引用可以改变其所指向的对象、进行相等性比较以及向对象发送消息。这与C中的指针行为一致,例如可以创建并初始化一个浮点数指针。博客通过代码示例展示了Java和C如何映射这些概念,并强调了Java中的垃圾回收机制与C++中的手动内存管理的区别。

被折叠的 条评论
为什么被折叠?



