C++ primer阅读之特殊工具与技术

第十九章 特殊工具与技术

1. 使用new时,本质上执行了三步操作。第一步是调用了operator new或operator new[]标准库函数分配内存。这部分可以自己定义。

2.malloc和free函数。注意和new与delete的区别。

3.dynamic_cast运算符。将基类指针或引用安全转换为派生类的指针引用。可以不包含虚函数。

4.typeid运算符。

5.使用RTTI:如何去判断连个对象相等(类型相同,成员取值相同)。解决方法:typeid先判断两个运算对象类型是否一致,然后再调用equal函数(虚函数)。

6.枚举属于字面值常量类型。限定作用的美剧类型和不限定作用的。枚举值不一定唯一。

7.不限定作用域的枚举类型的枚举成员会被隐式地转换为int。

8.类成员指针。声明成员指针最方便的做法:auto pdata = &Screen::contents;

9.成员指针指定了成员而非该成员所属的对象,当解引用成员指针时我们才提供对象的信息。

10.函数调用运算符的优先级高于指针指向成员运算符。

11.成员指针不是一个可调用对象。可以使用function生成一个可调用对象,或者使用mem_fn或者bind。

12.嵌套类可以直接使用外层类的成员。可以理解为嵌套类时外层类的一个成员。

13.默认下,union成员时public,任意时刻只有一个成员可以有值。无法继承也无法作为基类。

14.遇到volatile关键字声明的变量,编译器对访问该变量的代码就不再进行优化,从而可以提供对特殊地址的稳定访问.

15.链接指示:extern "CC遇到这个关键字声明的变量,编译器对访问该变量的代码就不再进行优化,从而可以提供对特殊地址的稳定访问.。

16.链接指示:extern "C"。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值