函数原型:
#include <algorithm>
iterator max_element( iterator start, iterator end );
iterator max_element( iterator start, iterator end, BinPred p );用法:
#include<iostream>
#include<algorithm>
using namespace std;
int main()
{
int n[]={1,4,22,3,8,5};
int len=sizeof(n)/sizeof(int);
cout<<*max_element(n,n+len)<<endl;
cout<<*min_element(n,n+len)<<endl;
return 0;
}注意:数组中参数和返回值是对应的地址,如果在容器中,则是迭代器。例如:
string longestPalindrome(string s) {
if (s.size() < 2) return s;
std::map<int, int> mpal;//<len,start>
for (int i = 0; i<s.size();)
{
int start = i;
while (s[start] == s[i + 1]) ++i;
int finish = i;
while (start >= 0 && finish < s.size() && s[start] == s[finish])
{
--start;
++finish;
}
if (finish - start >= 3) mpal.insert(std::make_pair(finish - start - 1, start + 1));
++i;
}
auto m = std::max_element(mpal.begin(), mpal.end()); //m是迭代器
return s.substr((*m).second, (*m).first);
}
本文深入探讨了C++模板元编程技术,并将其与函数式编程思想相结合,通过具体实例展示了如何在C++中实现高效、灵活且易于维护的代码结构。重点介绍了模板特化、模板元类、依赖解析等关键技术,以及如何利用这些技术构建通用的、可复用的代码组件,从而提高开发效率和代码质量。

1万+

被折叠的 条评论
为什么被折叠?



