⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mem.cpp

📁 Think in C++ 第二版源码
💻 CPP
字号:
//: C07:Mem.cpp {O}

// From Thinking in C++, 2nd Edition

// Available at http://www.BruceEckel.com

// (c) Bruce Eckel 1999

// Copyright notice in Copyright.txt

#include "Mem.h"

#include <cstring>

using namespace std;



Mem::Mem() { mem = 0; size = 0; }



Mem::Mem(int sz) {

  mem = 0;

  size = 0;

  ensureMinSize(sz); 

}



Mem::~Mem() { delete []mem; }



int Mem::msize() { return size; }



void Mem::ensureMinSize(int minSize) {

  if(size < minSize) {

    byte* newmem = new byte[minSize];

    memset(newmem + size, 0, minSize - size);

    memcpy(newmem, mem, size);

    delete []mem;

    mem = newmem;

    size = minSize;

  }

}



byte* Mem::pointer() { return mem; }



byte* Mem::pointer(int minSize) {

  ensureMinSize(minSize);

  return mem; 

} ///:~

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -