既然c#中可以使用指针,比起c++来,还有什么缺陷么? 

解决方案 »

  1.   

     一般情况不建议使用指针吧 unsafe代码 
      

  2.   

    那是程序员的问题
    实现树结构必须用指针实现就CLR那套引用计数器的做法,就算实现了,效率也低的可怜。
    这是.Net的硬伤
      

  3.   

    想用指针的话,用cli(Managed C++ )吧。 然后暴露不是指针的接口,这样C#就可以应用Cli的工程,并调用接口。
      

  4.   

    .NET framework  使用的CLR  垃圾回收机制,会自动优化内容,将变量开辟的内存中不连续的空间 在其它内存空间被释放后, 调整变量内存的位置,让这个变量在内存中的位置连续。  这也就是 自动回收机制。
    所以framework 中   你使用的变量 开辟内存时,它的地址不是固定的。 也就是说你用一个指针指向这个变量当前地址, 可能下一刻它的地址就变化了。 所以 基于framework的开发语言 里没有指针概念了。包括CLR C++ 也是。  它们有个叫指针句柄的东西。 楼主有兴趣可以去查查看总结来说就是  framework 下使用指针是不安全的。你的指针无法正确找到你定义的变量。 不知道你修改指针 修改的是哪个程序的内容。