两种语言之间关于您的问题的主要区别是Java是具有引用语义的语言(原始类型除外),而C ++是具有值语义的语言,该值允许通过引用和指针进行引用语义。
在两种语言中看起来 相似的 语法具有完全不同的含义,在Java中创建 引用 (
Test2 x = new Test2();)时,C
++中的等效构造将使用指针(
Test2 *x = new Test2();)。
一个关键的区别是,通过使用指针在值语义之上提供引用语义很简单,但是在(纯)引用语义之上提供值语义是不可能的。该语句的某些含义包括无法控制Java在内存中的对象的布局或数据的位置(对于原始类型和原始类型数组以外的任何对象),而在另一方面,则可以更好地控制对象在C++中,您可以模仿Java对象。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)