Will this C++ code cause a memory leak (casting array new)

后端 未结 24 3117
暗喜
暗喜 2021-02-14 12:26

I have been working on some legacy C++ code that uses variable length structures (TAPI), where the structure size will depend on variable length strings. The structures are allo

24条回答
  •  时光取名叫无心
    2021-02-14 12:45

    Use operator new and delete:

    struct STRUCT
    {
      void *operator new (size_t)
      {
        return new char [sizeof(STRUCT) + nPaddingSize];
      }
    
      void operator delete (void *memory)
      {
        delete [] reinterpret_cast  (memory);
      }
    };
    
    void main()
    {
      STRUCT *s = new STRUCT;
      delete s;
    }
    

提交回复
热议问题