对象指针和对象引用的区别( 能通过程序讲)

对象指针和对象引用的区别( 能通过程序讲),第1张

如果是说C++的话对象指针是指向对象空间首地址的指针,对象引用是对象名的别名。比如:

#include<stdioh>

class foo {};

void func1(foo f){printf("%p\n",f);} //对象的指针

void func2(foo& f){printf("%p\n",&f);} //对象的引用

int main() {

foo a;

printf("%p\n",&a);

func1(&a);

func2(a);

return 0;

}

输出的结果应该是三个相同的地址。也应该可以这样认为:通过引用传递对象是隐式地传递了对象的指针。

如果是C#和JAVA的话,对象引用是堆空间中对象实体的句柄。

class foo {}

foo p; //此时p=null

p = new foo(); //此时在堆里建立了foo的实例的空间,令p引用该实例

比如你的Class 为 CMYXXClass

这样就可以了:

CMYXXClass pMyClass = new CMYXXClass;

pMyClass就是对象指针了,记得取对象名字的时候只要是指针的最好在前面加个p,以后看到就知道它是指针,要不用的时候很容易出错。

以上就是关于对象指针和对象引用的区别( 能通过程序讲)全部的内容,包括:对象指针和对象引用的区别( 能通过程序讲)、c++中如何用new生成对象指针、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/10129407.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-05
下一篇2023-05-05

发表评论

登录后才能评论

评论列表(0条)

    保存