深感年纪大了,危机重重。便回顾下C++,巩固基础,从STL开始看起。
第一章:STL概论与版本简介
主要内容:
1、介绍STL的历史,成为C++标准
2、介绍STL的组件,容器、算法、迭代器、仿真器、配j接器、配置器
3、STL的版本,Windows可读性差、可移植性差,SGI版本较忧
4、SGI STL的移植性,不同编译器支持程度不同,可以使用<stl_config.h>宏进行配置
从官网下了个SGI STL,在我的资源可以找到
书中有个技术点,值得强调,即仿函数Functor,它是托管代码实现的原理(待考察)
他利用重载 "()" 操作符,实现将函数对象化,代码例子:
#include "stdafx.h"
#include <cstdio>
#include <iostream>
using namespace std;
template <class T>
class CPlus
{
public:
T operator()(int x, int y)
{
return x + y;
}
};
int _tmain(int argc, _TCHAR* argv[])
{
CPlus<int> obj;
cout << obj(1, 2) << endl; //< 3
cout << CPlus<int>()(10, 20) << endl; //< 30
system("pause");
return 0;
}
最终,对plus的使用,类似于函数的使用。而对象化后的函数,我们可以更方便的保存、传递,比回调函数有更好的封装性。
此方式,在STL中被用到较多,后续继续跟踪。