|
网站首页
|
业界新闻
|
小组
|
威客
|
人才
|
下载频道
|
博客
|
代码贴
|
在线编程
|
编程论坛
|
登录
注册
短消息
我发表的主题
我参与的主题
我收藏的贴子
我上传的附件
我下过的附件
编辑个人资料
我的博客
用户控制面板
搜索
道具
恢复默认风格
碧海青天
秋意盎然
棕红预览
粉色回忆
蓝雅绿
紫色淡雅
青青河草
e点小镇
橘子红了
红红夜思
水晶紫色
雪花飘飘
新年快乐
风格
短消息
论坛展区
帮助
编程论坛
→
.NET专区
→
『 C# 论坛 』
→ 指针问题
我的收件箱(0)
欢迎加入我们,一同切磋技术
用户名:
密 码:
共有
551
人关注过本帖
标题:
指针问题
只看楼主
加入收藏
zjzhang
等 级:
新手上路
帖 子:7
专家分:0
注 册:2008-9-25
楼主
收藏
问题点数:0 回复次数:4
指针问题
int a = 1;
CallFunction(&a);
这样没问题, a是一个局部的变量 但是如果要取得一个 字段的地址就不行了
比如;
class Test
{
private int a = 1;
public unsafe void Test()
{
CallFunction(&a);
}
}
这样就不行了 说是不能去到a的地址 到底怎么搞的啊
搜索更多相关主题的帖子:
指针
2008-10-25 19:22
举报帖子
使用道具
赠送鲜花
liubaoen
等 级:
论坛游侠
帖 子:104
专家分:117
注 册:2006-6-12
第
2
楼
收藏
得分:0
在C#中指针完全是个多余的东西,这些东西并不是没有,而是在背后C#帮你完成了,这样可以避免你在使用指针的出错。这可能就叫因噎废食吧。
但是我建议不要使用指针,因为可能通过其他方式实现。比如byref参数,当然,也可以使用unsafe参数,在里面使用指针。
2008-10-26 09:23
举报帖子
使用道具
赠送鲜花
zjzhang
等 级:
新手上路
帖 子:7
专家分:0
注 册:2008-9-25
第
3
楼
收藏
得分:0
为什么每个人都是讲多余呢? 我觉得C#到处都是限制 不像MFC一样想怎样就怎样 现在我就是要获取它的指针 怎么做呢? 我的那个问题怎么解决呢? 或者 换成这样
int a = 1;
int& b = a;
int a = 1;
int* b = &a;
这里的四行代码表达的意思是一样的,就是我像修改b的时候修改a。
我知道在C#里面类对象都是new出来的,都是引用,对于类对象来说没问题,但是基本对象 比如int bool long那些 我怎样才能实现和上面代码一样的效果? 在不用ref out 的情况下,因为的函数不可能带参数,函数是个虚函数,它不知道子类要怎么样子的参数。而且不能动,代码架构很大。
[[it] 本帖最后由 zjzhang 于 2008-10-26 09:44 编辑 [/it]]
2008-10-26 09:36
举报帖子
使用道具
赠送鲜花
shmilylee
来 自:江苏扬州蹩脚小公司
等 级:
论坛游民
威 望:
2
帖 子:242
专家分:22
注 册:2007-7-6
第
4
楼
收藏
得分:0
可能int a = 1;也要放到不安全代码函数中,在外面定义可能会报错!
太可恶了,居然不能超过100个字符!
这区区100个又怎么能概括我平凡而又伟大的一生!
2008-10-26 09:40
举报帖子
使用道具
赠送鲜花
zjzhang
等 级:
新手上路
帖 子:7
专家分:0
注 册:2008-9-25
第
5
楼
收藏
得分:0
解决了 要用到
fixed(int* b = &a)
{
....
}
因为fixed不会要垃圾回收去重新调整a在内存里面的位置,如果不加fixed垃圾回收的时候a的地址就会被改变,这样做指针就没意义了 呵呵 ,发出来大家了解一下,以后可能会用到
2008-10-26 09:55
举报帖子
使用道具
赠送鲜花
5
1/1页
1
快速回复:
指针问题
数据加载中...
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.024302 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved