我是靠谱客的博主 舒适月饼,最近开发中收集的这篇文章主要介绍mem分配 在c++中写法,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

class CBuffer
{
    char * m_pBuffer;
    int m_size;
public:
    CBuffer()
    {
       m_pBuffer=NULL;
    }
    ~CBuffer()
    {
       Free();
    }
    void Allocte(int size)
    {
       m_size=size;
       m_pBuffer= new char[size];
    }
private:
    void Free()
    {
       if(m_pBuffer!=NULL)
       {
           delete[] m_pBuffer;
           m_pBuffer=NULL;
       }
    }
public:
    void SaveString(const char* pText) //const
    {
        if(pText==NULL)
          return;
        Allocte(strlen(pText)+1);
       strcpy(m_pBuffer, pText);
    }
    char* GetBuffer() const
    {
       return m_pBuffer;
    }
};

class Cmem{ //原则 在构造中申请,在析构中释放
         public :
   Cmem():m_ptr(NULL):size(0){}
   Cmem(int size)
    {
    this->size=size;
       m_ptr=new int[size];  //问题 :没分配成功咋办?
    }
           virtual ~Cmem()
            {
            delete []m_ptr;
          m_ptr=NULL;
            }
  private :
   int  * m_ptr;
  int size;
};

class Cmem_ext{
 public :
 Cmem_ext():m_ptr(NULL){}
 ~Cmem_ext()
 {
 ReleaseMem();
 }
 bool CreateMem(int size)
 {
  if(m_ptr==NULL)
   {
    m_ptr=new int [size];
  return TRUE;
   }
  else  //m_ptr 占用则分配不成功?
   {
    return FALSE;
   }
 }
 void  ReleaseMem()
 {
    if(m_ptr)
      delete []m_ptr;
    m_ptr=NULL;
 }
  private :
  int  * m_ptr; 
};

 

最后

以上就是舒适月饼为你收集整理的mem分配 在c++中写法的全部内容,希望文章能够帮你解决mem分配 在c++中写法所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(51)

评论列表共有 0 条评论

立即
投稿
返回
顶部