内存


1. 内存区域
常量数据区const data, 编译期间就能确定的值, 在程序的整个生存期内, 区域中的数据都是可用并且只读。
栈区stack 自动变量, 局部变量
自由存储区free store和堆heap
全局/静态区global/static,全局的或静态的变量和对象所占用的存储区域在程序启动的时候才被分配,而且直到程序开始执行的时候才被初始化。


2. new

如果你为某个类提供了任何类相关的new,那么为他提供类相关的简单new(无额外参数)
如果你为某个类提供了任何类相关的new,那么为他提供类相关的placement new
避免使用nothrow new
无论如何, 检查new是否失败通常没有多大意义


3. 只能在堆上创建对象的类

class HeapBase
{
public:
HeapBase(){...} //constructor
void destroy(){...}// destructor
private:
~HeapBase(){...}
}
posted @ 2009-11-09 02:42  史莱姆  阅读(183)  评论(0编辑  收藏  举报