C++相关读书笔记

这篇博客总结了C++的相关知识点,包括C++ Primer(5th edition)中的operator new和operator delete,动态类型识别rtti,以及C++11/14的新特性。强调了动态类型转换、枚举类型、volatile关键字、成员函数指针和std::function等的使用。同时,介绍了Boost程序库的重要性和应用。
摘要由CSDN通过智能技术生成

C++ Primer(5th edition)

  1. 类中的operator new和operator delete是隐式静态的
  2. new运算符不能被重载,operator new的重载只是改变内存分配的方式
  3. p->~string() 显式调用析构只清除对象,不释放内存
  4. rtti,也就是typeid和dynamic_cast,主要用于使用基类指针调用子类的非虚函数
  5. dynamic_cast不能用于不包含虚函数的类,编译会失败
  6. 限定作用域的枚举类型与不限定作用域的枚举类型:enum class color {red, green, blue};
  7. 不限定作用域的枚举类型的枚举成员可以隐式的转换为INT,限定作用域的则不会
  8. volatile用法和const类似,volatile的易变性在于它常用于修饰不被程序控制的变量
  9. 位域和volatile是不可移植的
  10. 两个链接指示不同的函数指针不能相互赋值
  11. 数据成员指针的定义实际上只是绑定类型,使用的时候才绑定对象
  12. 成员函数指针不是可调用对象
  13. std::function std::mem_fn std::bind都可以用成员函数指针构造可调用对象
  14. 给union中的对象赋值需要显示调用其析构函数
  15. 如果一个类要定义析构,那么很可能也要定义拷贝构造函数和拷贝赋值运算符
  16. 如果一个类有数据成员不能默认构造,拷贝,复制,或销毁,则对应的成员函数将被定义为删除的。如有CONST成员的类和有引用成员的类
  17. 拷贝构造和拷贝赋值是私有的,因此用户不能拷贝这种对象,但友员和成员函数可以。这时可以通过仅声明不定义的方式实现。
  18. 拷贝赋值运算符与拷贝构造不同的地方是,拷贝赋值运算符需要处理
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值