X.MyInt=18;
这句代码会在栈中分配内存,并初始化这块内存为18;存的是值不是引用。
Y=X,正如你所说的。由于X、Y都是引用类型,所以会在托管堆中分配内存。
这句代码之后,Y就会指向系统为X分配的那块内存。实际上是同一块内存,当然修改了Y,X也会变了。
当然了,你可以自己写个测试程序,点击调试,在VS2008的调试者卜答菜单下的窗口中选择内存,可以查看X、Y的内存地址。它们的地址是一样的。
string是按引用存储的。
解决步骤:一、工具-导入和导出设置-重置所有设置(如有需要可先将原有设置备份导孝则出),当出现下面这个对话框的时候,选择VisualC++开备悔发设置,并点击完成。二、重置完成之后就可以在进入调试状态下检查内存菜单选项有没有出现了。如果没有出现,继续 *** 作如下:工具-选项,在打开的选项对话框左侧选择“调试”节点,在右侧勾选中“启用地址级调试”,点击确定。出现问题的原因:在程序断点之前可能存在类似需要用户输入仿慎正或点击界面的 *** 作。
例如此时的控制台中需要用户输入数据。因此,只要按要求进行数据数据或用户界面点击,局部变量窗口就能正常显示使用。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)