C++学习札记一

    每次都想想认真学习一下C++,让自己摆脱指挥C,没有跟上时代的标签。可是每次都是看了几章就停下来了。最近一段时间公司项目吃紧,不过正好有需要使用到C++的地方,所以强迫自己每天都抽点事件学习。这里主要记录一些自己认为比较重要的东西。
    1.在类的定义中实现的函数会被自动当做内联函数。

    2.函数的重载是指(在相同的域中)允许多个函数存在同名的情况。但是要求这些同名函数之间利用不同的入口参数来相互区分,包括参数的个数不同或者参数的的类型不同。须引起注意的是函数的返回值不同并不能区分同名函数。

   3.构造函数中explicit修饰符的使用是为了避免类在初始化中的隐士抓换问题。例如

   

class A
{
public:
    A(int size);
};

A a(1);
A a=1;

    在没有使用explicit 的情况下,如果构造函数的入口参数只有一个,则允许使用隐式转换。如果使用了explicit则不允许使用如A a=1;这样的隐式转换。

    4.C++支持的泛型运算:


  • 搜索 (search)算法: find() find_if() search() binary_search() count()和 count_if()
  • 分类排序 (sorting) 与通用排序 (ordering) 算法:partition() rotate() sort() partial_sort()  merge()    reverse()和 random_shuffle()
  • 删除( deletion) 算法 :unique()和 remove()
  • 算术 (numeric): accumulate() partial_sum() inner_product()和 adjacent_difference()
  • 生成(generation) 和变异(mutation) 算法:generate() fill() transformation()copy()和 for_each()
  • 关系(Relational) 算法 :equal() min()和 max()。


你可能感兴趣的:(C++学习札记一)