为什么这么多人说C#里没有指针?

指针在C#里只是不安全类型,不推荐使用,为什么这么多人说C#里没有指针?... 指针在C#里只是不安全类型,不推荐使用,
为什么这么多人说C#里没有指针?
展开
 我来答
lyzlyfok
2012-07-06 · TA获得超过137个赞
知道小有建树答主
回答量:482
采纳率:50%
帮助的人:252万
展开全部
没有指针,因为指针不安全,如你假设有个类是A ,你初始化的时候
A *a=new A();这个时候的 a要在最后删除既delete a;
这样麻烦。如果没有delete那样就会泄露内存,因此C#仿照Java,不用指针,而是引用,看不到的
癯月笑浮生
2017-12-18 · TA获得超过2794个赞
知道小有建树答主
回答量:2657
采纳率:76%
帮助的人:437万
展开全部
C#是有指针的,没有指针是错误的说法。 unsafe只不过是一个标记,不能将指针看作不安全的,这是极度错误的观点,程序安全与否与程序员的水平有很大关系,指针改用的时候还要用的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
chen615111
2012-07-06
知道答主
回答量:77
采纳率:0%
帮助的人:16万
展开全部
委托类似指针
追问
委托我知道,我说的真正意义上的指针就是用类似于 int * p 那种。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
heroius
推荐于2017-10-14 · TA获得超过1178个赞
知道小有建树答主
回答量:746
采纳率:0%
帮助的人:242万
展开全部
指针是非强类型化的,当使用一个指针的时候,指向的不是一个特定的类型,而仅仅是一块内存区。对这个指针进行位移操作,然后向此位置写入,就可能破坏内存,因此称可以直接操作内存的代码为不安全的(unsafe)。
平时我们使用C#,是在托管平台上,这个平台之所以被称为“托管的”,是因为编程人员不再需要为内存的分配、管理和回收做太多的工作,CLR会在内部管理程序的内存。
但是在某些特殊的情况下,如与本地代码或COM+组件交互的时候,可能需要使用指针来传递参数,这时可以配置C#项目属性,使其“允许不安全的代码”,并在不安全的代码块前用unsafe修饰。这样就可以在C#中使用指针。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式