OOP:对象+继承+虚函数,企图把data和method放到一起。
GP:有模板,企图把data和method分开,container是一种数据,algorithm是一种方法。
GP:可以让container和algorithm分开开发互不影响,algotithm通过iterator确定container的操作范围,并修改container中元素的值。
stl算法最终涉及元素本身的操作为比大小:algorithm + function object的例子
bool strlong(const string& str1, const string& str2) {
return str1.size() > str2.size();
}
template<typename _Tp, typename Compare>
inline const _Tp& max(const _Tp& a, const _Tp& b, Compare comp) {
return comp(a, b) ? a : b;
}
补充一个知识点:
const加到函数之前,表示函数的返回值只能为右值,不能为左值。