1、使用库library是提高效率最重要的方式,也是C++最基本的设计初衷
2、堆Heap是指一大块用于运行时实时分配的内存空间,C++使用new和delete来操作堆空间。通常分配内存使用new unsigned char[Bytes],释放使用delete p或delete []pArray(数组)。delete void*最好避免使用,这一操作对于一些简单的系统内建类型不会有问题,但如果void*所指向的对象在析构函数里要释放对象内存在的指针指向内存,进行此操作会丢失内存,因为它不执行析构函数。
3、使用C结构体struct缺点:其一,内部变量缺少保护机制,外部使用可以轻易修改;其二,初始化和结束函数必须由使用者调用,但这些又非语法强制的,依赖使用者个人的自觉行为;其三,C使用单一命名空间,库之间容易冲突
4、所有指针本身的内存空间都是4字节:
5、C++头文件三要点:其一,避免在头文件中定义对象从而造成内存分配,这会导致“重复定义”错误;其二,使用预编译指令防止头文件重复声明(#ifndef,#define#endif);其三,不建议在头文件中使用using指示符,避免造成namespace protection的大面积丧失。
6、假设某局部作用域存在局部变量和全局变量名称一样,要在局部使用该全局变量,必须加上::标识符以标志该变量为全局变量。
7、即使某struct里没有一个成员变量,定义对象后他也会占用1个字节内存,因为C++认为每个对象的地址都应该不一样,否则定义两个连续的空对象以后,难道他们地址也一样?