2GeekBand Week4

2016-05-30  本文已影响0人  Createwindow
  1. 转换函数,不需要写返回值,通常需要加上const 表明是常量成员函数,不带参数
    Operator type(),隐式转换。把这种东西转成别的东西
    2.none-explicit one argument ctor (实参)把别的东西转成这种东西,one argument 表示一个实参传入即可。
  2. Explicit 关键字一般用在构造函数前面
  3. 智能指针,迭代器均是pointer like class
  4. Function like class 重载function call operator
  5. Sizeof 空类 结果为1
  6. 模板主要分为class,function,member template.
    为何shared pointer 中的构造函数需要加explicit,箭头符号作用的结果会继续作用下去。箭头操作符重载返回的是指针,dereference 操作符函数返回的是引用。
  7. 成员模板,类模板中有一个成员模板,构造函数,常见的用法发生在继承关系时,模板类的参数类型是父类。让构造函数更有弹性。
  8. 全特化,偏特化(个数和范围)的特化。范围可以是由任意类型缩小为指针类型
  9. 模板的模板参数,两种容易混淆的写法,typename 和class只有在template 尖括号内共通,其他位置不是。第一个参数为第二个模板参数的参数,第二个参数的典型例子就是容器。但容器有第二模板参数带默认值
  10. 如何判断支持cpp11
  11. cpp11 range based for,在此之前有存在两种方法,通过迭代器或者foreach
  12. cpp11 auto varadic template
  13. 引用必须赋初值,并且不可以改变,编译器会制造出假象,让我们觉得引用就是代表被引用的对象,大小相同,地址相同 底层实现实际是指针 漂亮的指针
  14. 函数的重载 如果不同仅仅为一个参数,类型为对象,和对象的引用。那么它们不能共存,因为在调用的时候,编译器不能从实参判断出来。signature 是相同的。
  15. Const是signature 的一部分。
上一篇下一篇

猜你喜欢

热点阅读