永发信息网

c# 生命周期与引用传递相关问题

答案:1  悬赏:10  手机版
解决时间 2021-03-24 10:40
  • 提问者网友:浩歌待明月
  • 2021-03-23 12:57
c# 生命周期与引用传递相关问题
最佳答案
  • 五星知识达人网友:举杯邀酒敬孤独
  • 2021-03-23 13:02
在GetSomething函数返回值时,因为p_fun对象是一个局部变量,所有系统会把它拷贝一份并销毁它,返回的是指向那个拷贝的句柄,并赋给了p_main。由于原来用2初始化的对象已经没有了指向它的句柄引用(p_main此时已经不再引用它了),系统会把它销毁。所以最后p_main的值是p_fun的,而不是那个a=2的对象追问意思是系统会识别这种情况,通过你说的这种拷贝方式进行拷贝?那如果p_fun是一个全局变量 它就不是你说的这么做的?追答因为你让p_main引用到GetSomething函数返回的对象了,所以它不会销毁。如果你再给p_main赋值(改变引用)的话,这个对象也得被销毁
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯