在C#中IntPtr类型相当于C或C++中的指针,只不过在C#对指针做了封装.这个类型不属于托管类型,所以在使用前需要用Marshal.AllocCoTaskMem(int Bytes)来分配内存,这里的Bytes是你要用的指针的字节数.在使用后需要用Marshal.FreeCoTaskMem(IntPtr ptr)来释放内存空间,否则也会像C或C++那样出现内存泄露.
C#中IntPtr的使用
最新推荐文章于 2024-06-15 15:45:28 发布
在C#中IntPtr类型相当于C或C++中的指针,只不过在C#对指针做了封装.这个类型不属于托管类型,所以在使用前需要用Marshal.AllocCoTaskMem(int Bytes)来分配内存,这里的Bytes是你要用的指针的字节数.在使用后需要用Marshal.FreeCoTaskMem(IntPtr ptr)来释放内存空间,否则也会像C或C++那样出现内存泄露.