“句柄声明符”(^,发音为“hat”)会修改类型说明符,表示当系统确定声明的对象已不再可以访问时,应当自动删除该声明的对象。
gcnew关键字表示在托管堆上分配内存,并且为了与以前的指针区分,用^来替换* ,就语义上来说他们的区别大致如下:
1. gcnew返回的是一个句柄(Handle),而new返回的是实际的内存地址.
2. gcnew创建的对象由虚拟机托管,而new创建的对象必须自己来管理和释放.
参考链接:
“句柄声明符”(^,发音为“hat”)会修改类型说明符,表示当系统确定声明的对象已不再可以访问时,应当自动删除该声明的对象。
gcnew关键字表示在托管堆上分配内存,并且为了与以前的指针区分,用^来替换* ,就语义上来说他们的区别大致如下:
1. gcnew返回的是一个句柄(Handle),而new返回的是实际的内存地址.
2. gcnew创建的对象由虚拟机托管,而new创建的对象必须自己来管理和释放.
参考链接: