社区
.NET Framework
帖子详情
CLR
qwaszx6641
2011-09-23 04:59:42
我自己定义的一个类
ref class tagReadBuffer
{
public:
int D0008;
int D0009;
};
在From里面
tagReadBuffer ^ a = gcnew tagReadBuffer;
Void Button(...)
{
tagReadBuffer ^b = a;
b->D0008=1;
b->D0009=1;
//问题就在这里 为什么 a的值也跟着改啊? 我刚步入CLR 希望前辈能告诉下 我用的是VS2010 是做C++的、
}
...全文
81
9
打赏
收藏
CLR
我自己定义的一个类 ref class tagReadBuffer { public: int D0008; int D0009; }; 在From里面 tagReadBuffer ^ a = gcnew tagReadBuffer; Void Button(...) { tagReadBuffer ^b = a; b->D0008=1; b->D0009=1; //问题就在这里 为什么 a的值也跟着改啊? 我刚步入CLR 希望前辈能告诉下 我用的是VS2010 是做C++的、 }
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
星小野
2011-09-26
打赏
举报
回复
CLR是CLI的实现版本,是一种运行时环境,.NetFramework的主要执行引擎.
拷贝是有一个新的内存.
@sj97a007
的解释正确
qwaszx6641
2011-09-23
打赏
举报
回复
能CLR 里面有拷贝的函数吗? 拷贝不就是新的内存了? 求解
枪牌
2011-09-23
打赏
举报
回复
和C++没什么区别啊
自己写个方法深拷贝
枪牌
2011-09-23
打赏
举报
回复
tagReadBuffer ^ a = gcnew tagReadBuffer;//生成指针、(其实还有个同步索引块)内存空间,指针指向内存地址
tagReadBuffer ^b = a; //生成指针,b与a相同
两个指针指向同一片内存,即同一个对象
这里要把指针和对象分开来看
你也可以按浅拷贝理解
qwaszx6641
2011-09-23
打赏
举报
回复
没有 这个重新分配个空间 我当然了解 如果是C++ 我就懂了。
这个CLR 我今天刚接触, 所以我的意思是 我b的值得 需要得到a的值, 但是我想做到的一点就是 修改b的时候a值不变就行 没其他的了。 我也没有找到拷贝的函数 , 现分配空间然后赋值 也没有意义 两个用的是一个内存地址 所以 ^b=a; 不可用。 想知道正确的方法 我看网上说 什么Object对象 定义对象的话 不让强转 定义指针还修改值 疯了
qwaszx6641
2011-09-23
打赏
举报
回复
这个 我知道 我就是想 做一个中间变量a 而且这个中间变量a是可以修改的 但是b的值不想改 但是这里我不知道CLR 里面怎么样才能做到 做到这样 也没找到拷贝的函数。
逐风
2011-09-23
打赏
举报
回复
汗。。 不碰c++
你没搞懂对象的概念,帮你分析下,有错勿怪。
tagReadBuffer ^ a = gcnew tagReadBuffer;//这里new 出来一个 tagReadBuffer
tagReadBuffer ^b = a; //这里相当于 把 ^a的地址传递给 ^b 从内存上看,2个变量指向的地址是一样的
所以你改变 b 还是a 都是同一个对象。
然后修改下:(有错勿怪)
tagReadBuffer ^b = gcnew tagReadBuffer;//新建立一个对象, 这时 a 和 b 的地址不一样
qwaszx6641
2011-09-23
打赏
举报
回复
对啊 语法我不是很了解 你说传引用 能不能给写一段代码我看看呀。
逐风
2011-09-23
打赏
举报
回复
clr 里面 类都是 传递引用的。
再者,你就new 了一个,貌似也找不到第二个吧。
CLR
编程,
CLR
原理,
CLR
内幕
CLR
编程
CLR
的动态内存分配以不同的方式工作,
CLR
维护其独立于本地C++堆的内存堆。当我们不再需要在
CLR
堆上分配的内存时,
CLR
会自动将其删除。因此,我们不必在为
CLR
编写的程序中使用delete运算符。
CLR
还可以压缩内存...
CLR
via C#, 4th Edition.pdf 英文原版[非扫描版]
本书针对
CLR
和.NET Framework 4.0进行深入、全面的探讨,并结合实例介绍了如何利用它们进行设计、开发和调试。全书5部分29章。第Ⅰ部分介绍
CLR
基础,第Ⅱ部分解释如何设计类型,第Ⅲ部分介绍基本类型,第Ⅳ部分以...
基于Csharp+OpenCV图像处理实战
本课着重推荐GOCW采用“Csharp基于
CLR
直接调用Opencv编写的算法库”方法,能够将最新的OpenCV技术引入进来,同时保证生成程序的最小化。 为了进一步说明Csharp和OpenCV的结合使用,首先一个较为完整...
solution to
CLR
(算法导论习题全部答案) 挺全的solution to
CLR
(算法导论习题全部答案) 挺全的
solution to Csolution to
CLR
(算法导论习题全部答案) 挺全的LR(算法导solution to
CLR
(算法导论习题全部答案) 挺全的论习题solution to
CLR
(算法导论习题全部答案) 挺全的全部solution to
CLR
(算法导论习题全部答案...
.NET
CLR
via C#(第4版) 最新完整版 高清文字版
本书是全球享有盛誉的技术作家Jeffrey Richter的经典书籍
CLR
via C#最新版第四版。 本书针对
clr
、C#5.0和.net framework 4.5进行深入、全面的探讨,并结合实例介绍了如何利用它们进行设计、开发和调试。 本书深入、...
.NET Framework
17,740
社区成员
24,334
社区内容
发帖
与我相关
我的任务
.NET Framework
.NET技术 .NET Framework
复制链接
扫一扫
分享
社区描述
.NET技术 .NET Framework
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章