4.将新对象的地址版给pveg变量:

string "pveg - now. Btrangt"Cabbage Heads Hone*):

1.为对象分配内存:

2. 请用类构造函数,它
·为“Cabbnge Heads Hose 分配空间
- # "Cabbage Heads Hoe"
复制到分配的内存单元中
- #f "Cabbage Heads Howe"
的地址赋给str
·将值19粒给1en
·更新加理 strings(没有显示)

3.创建pveg变量

地址:2400

Catoage Heads Home\8
地址:2000
2000

19

地址:2400

4.将新对象的地址版给pveg变量:

pveg-地址:2800

2480

pveg-地址:2800

// compare object values
// assign object address

图12.6 使用 new 创建对象

● 可以对对象指针应用解除引用操作符(*)来获得对象:
if (sayings[i] < *first)
first = &sayings[i]:

3. 再谈布局 new操作符
本书前面介绍过,布局new操作符让您能够在分配内存时指定内存位置。第9章从内置类型的角度讨
论了布局new操作符,将这种操作符用于对象时情况有些不同,程序清单12.8使用了布局new操作符和
常规new 操作符给对象分配内存,其中定义的类的构造函数和析构函数都会显示一些信息,让用户能够了
解对象的历史。

程序清单 12.8 placenew1.cpp
// placenew1.cpp -- new, placement new, no delete
#include
#include
#include
using namespace std;
const int BUF = 512;

class JustTesting

private:
string words;
int number;
public:
JustTesting(const string & a = "Just Testing", int n = 0)
(words = s; number = n; cout << words << " constructed\n"; }
-JustTesting() | cout << words << " destroyed\n";}
void Show() const { cout << words << ", " << number << endl; }

int main()

char * buffer w new char[BUF);

JustTesting *pcl, *pc2;

// get a block of memory

你可能感兴趣的:(算法)