Effective C++ 总结提炼版

发布时间 2024-01-10 20:40:03作者: FBshark

导读

  • size_t 只是一个typedef,是unsigned类型,也是vector,deque,string内的operator[]函数接受的类型.
  • definition定义式,对于变量:任务是编译器拨发内存,对于function:提供代码本体
  • 判别拷贝构造和拷贝赋值:有无新对象实例的产生,如果是对已有对象赋值->拷贝赋值
    • 参数传递,函数返回,都调用的是拷贝构造。(因为还不是已有对象嘛)
    • 对于已经初始化的对象,再次调用 = 是拷贝赋值
    • 需要注意的是,调用“=”可能是拷贝构造,而不一定就是拷贝赋值哦,如果还没构造出的话,就是拷贝构造。
    • operator= 返回的类型是引用类型&,赋值操作是在函数内就完成的,再次返回对象是为了能连等
      如果返回的不是引用(而是对象)的话,就会调用拷贝构造创建出临时对象temp,加大了开销。
  • lhs -> left hand size、rhs -> right hand size
  • TR1 -> Technical Report 1(c++新机能)
  • boost 一个组织(网站)提供可移植,源码开放的c++程序库

1. 视C++为一个语言联邦

  • C
  • Object-Oriented C++
  • Template C++
  • STL

额外补充:

  1. 内置类型pass by value 即可, pass by reference 开销更大