C++ 进阶基础之十一
大纲
- C++ 进阶基础之一、C++ 进阶基础之二、C++ 进阶基础之三
- C++ 进阶基础之四、C++ 进阶基础之五、C++ 进阶基础之六
- C++ 进阶基础之七、C++ 进阶基础之八、C++ 进阶基础之九
- C++ 进阶基础之十、C++ 进阶基础之十一
算法
算法的基本概念
算法的简介
函数库对数据类型的选择对其可重用性起着至关重要的作用。举例来说,一个求方根的函数,在使用浮点数作为其参数类型的情况下的可重用性肯定比使用整型作为它的参数类性要高。而 C++ 通过模板的机制允许推迟对某些类型的选择,直到真正想使用模板或者说对模板进行特化的时候,STL 就利用了这一点提供了相当多的算法。它是在一个有效的框架中完成这些算法的 —— 可以将所有的类型划分为少数的几类,然后就可以在模板的参数中使用一种类型替换掉同一种类中的其他类型。
Kafka 入门教程之二
C++ 进阶基础之十
大纲
- C++ 进阶基础之一、C++ 进阶基础之二、C++ 进阶基础之三
- C++ 进阶基础之四、C++ 进阶基础之五、C++ 进阶基础之六
- C++ 进阶基础之七、C++ 进阶基础之八、C++ 进阶基础之九
- C++ 进阶基础之十、C++ 进阶基础之十一
函数对象
函数对象的概念
尽管函数指针被广泛用于实现函数回调,但 C++ 还提供了一个重要的实现回调函数的方法,那就是函数对象。重载函数调用操作符 () 的类,其对象常称为函数对象(Function Object),即它们是行为类似函数的对象。一个类对象,表现出一个函数的特征,就是通过 对象名 + (参数列表) 的方式使用一个类对象,如果没有上下文,完全可以把它看作一个函数对待,这是通过重载类的 () 操作符来实现的。在 C++ 标准库中,函数对象被广泛地使用以获得弹性,并且标准库中的很多算法都可以使用函数对象或者函数来作为自定义的回调行为。值得一提的是,函数对象的别名是 仿函数,或者是 伪函数。


