在c++.net编程中,每个变量都要使用gcnew进行初始化吗?
------解决方案--------------------------------------------------------
不是,例如int变量就不需要初始化
------解决方案--------------------------------------------------------
全局引用变量必须gcnew
------解决方案--------------------------------------------------------
不是,gcnew用于创建托管代码。
只要是托管类型的代码才能用gcnew,例如String ^str=gcnew String("Hello");
非托管类型的用new,例如int *iSum=a;
(在vc++.net中String是托管型代码,int不是。)
不管是哪一种,都要用delete清除
------解决方案--------------------------------------------------------
打错了,是int *iSum=new int;
*用来表示非托管指针,用new创建
^用来表示托管指针,用gcnew创建
所以两者用玩后要用delete清除,要不然是有内存泄露的。
------解决方案--------------------------------------------------------
参考
------解决方案--------------------------------------------------------
有没好的资料可以学习下
------解决方案--------------------------------------------------------
学习了,谢谢chenjf59
------解决方案--------------------------------------------------------
谢谢了,很实用
------解决方案--------------------------------------------------------
gcnew创建的对象,不用自己delete释放,它是由GC托管了。