这篇文章是我自己的心得,
也欢迎大家可以一起讨论。
以前在写C++的时候,
比较不喜欢用动态配置记忆体的方式,
C++写一个class呼叫只有用
ClassName myName;
的方式呼叫就可以了,
只要在建构子写好预设值就可以了,
如果有new的到后来一定要delete掉,
要不然会有占用记忆体的问题,
似乎程式关掉也不会释放,
一定要重新开机才会释放。
可是后来开始用C#,
除了C#原本自订的类别之外,
自己写的类别都要用
ClassName myName = new ClassName();
即使有在建构子写好预设值,
如果没有new就没办法用,
可以编译但执行会出错,变数会变成null
听说C#会自己释放记忆体,
不过其实微软的东西有时候会觉得怕怕的,
另外还有遇到一种状况,
在做某些比较庞大的资料处理的时候,
有时候会发生Out Of Memory的情况,
64位元的程式也是会这样,
可是用记忆体侦测的程式来看,
记忆体也没有真的增加那么多,
看起来还是维持在跟原本差不多最多高一点点的情况,
那到底为什么会有Out Of Memory的情况发生呢?
一点点心得,
如果大家愿意讨论的话欢迎来交流。