我做了一个dll 封装了一个类 , 这个类有个接口函数是别人来调用,在这个函数中要new 内存, 那怎么样才能del 这些内存。  是不是一定把new出的指针设成全局的变量(如果设成类的成员变量又在别人调用dll时,暴露给别人),在析构函数中del掉。  请问大家采取的是什么方法!

解决方案 »

  1.   

    DLL同时提供一个接口函数用来释放,与分配是对应的。一般是谁分配内存就由谁提供释放的方法。
      

  2.   

    同大家意见相同,在DLL在释放,结分!!!
      

  3.   

    我知道了要在dll中释放。   那么是不是 这些指针要定义为全局变量或者是我提供的类的成员变量, 我才能在释放内存的接口函数中调用,是不是只有这样定义指针才行!
      

  4.   

    我一般设成类的成员变量别人调用dll时,暴露给别人,在析构函数中del掉。
      

  5.   

    DLL中中析构函数释放,或者DLL退出时释放。要看你具体如何使用,都可以的。
      

  6.   

    这个指针可以设置成私有的。外面调用dll分配内存的函数由出口参数返回这个指针(但是需要约定外面的调用者不能释放这块内存),释放内存的工作由DLL封装类的析构函数完成。因为内存的申请和释放一般都是谁申请就由谁释放。