因为开始是在栈(stack)中分配空间,后改用new操作符,则在堆(leap)中分配……

解决方案 »

  1.   

    通常用new分配的内存效率没有Malloc 高
    用new 分配有可能只有50%(这的确是真的,如果你的对象足够小)对大内存的
    管理应该先申请一块大内存,然后再自己管理
    这块内存。
    至于在栈的内存机制我还不是很了解。
      

  2.   

    new好象就是用malloc  函数实现的,不知对否?
      

  3.   

    你用数组是在进入函数的时候分配(如果是函数的local变量),那么想想每次调用这个函数都会分配10m,然后退出时释放10m(虽然是栈的空间,但是由于你申请的空间太大,可能会有溢出,或者是调整,这个是猜测:))。
    另外在程序里面不要老是new/delete,最好一次就new好,在退出的时候在delete。