关于c++:打造可复用的数据结构库3-顶层父类创建

1 顶层父类存在的意义

  1. C++ 的编译在有些轻微的中央存在雷同的代码在不同编译器下的编译的后果不同的浮现。例如:new失败当前,有些抛出异样,有的返回nullptr。有的编译器不反对异样···,所以要在内存的操作做一个对立的解决。
  2. 尽量应用单继承形式解决,避免架构问题呈现。

    综上: 设计一个顶层父类,所有的数据结构都继承自这个类,这个类解决动态内存申请行为。

2 类的次要内容

    class Object
    {
    public:
            void * operator new (unsigned int size ) throw();
            void  operator delete (void *p ) ;

            void * operator new[] (unsigned int size ) throw();
            void  operator delete[] (void *p ) ;

            virtual ~Object()=0;
    }

3 类的实现

void * Object :: operator new (unsigned int size ) throw()
{
       return malloc( size);
}
void Object ::  operator delete (void *p )
{
      free( p);
}

void * Object ::   operator new[] (unsigned int size ) throw()
{
     return malloc( size);
}
void  Object ::  operator delete[] (void *p )
{
       free( p);
}

Object ::   ~Object()
{

}

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理