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