Advertisement
Guest User

cMemory.cpp

a guest
Apr 23rd, 2018
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.68 KB | None | 0 0
  1. #include "cMemory.h"
  2. #include <Windows.h>
  3.  
  4. cMemory::cMemory()
  5. {
  6.     mBlockId = 0;
  7.     mBlockSize = 10;
  8.     mBlockCount = 1024;
  9.     mPosInBlock = 0;
  10.  
  11.     //memset(mBlocks, NULL,mBlockCount* sizeof(char*))
  12.     mBlocks = new char*[mBlockCount];
  13.     for (size_t i = 0; i < mBlockCount - 1; i++)
  14.     {
  15.         mBlocks[i] = NULL;
  16.  
  17.     }
  18. }
  19.  
  20. cMemory::~cMemory()
  21. {
  22.     for (size_t i = 0; i < mBlockId; i++)
  23.     {
  24.         delete mBlocks[i];
  25.     }
  26.  
  27.     delete mBlocks;
  28. }
  29.  
  30. char * cMemory::New(int size)
  31. {
  32.     if (mPosInBlock + size > mBlockSize)
  33.     {
  34.         mBlockId++;
  35.         mPosInBlock = 0;
  36.         mBlocks[mBlockId] = new char[mBlockSize*sizeof(char*)];
  37.  
  38.     }
  39.  
  40.     char *p = mBlocks[mBlockId] + mPosInBlock;
  41.     mPosInBlock += size;
  42.     return p;
  43. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement