C++编程思想读后感(四):Data Abstraction

 

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++认为每个对象的地址都应该不一样,否则定义两个连续的空对象以后,难道他们地址也一样?

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值