What happens when you attempt to compile and run the following code?
#include
#include
#include
#include
#include
using namespace std;
template
public:
B(T v):val(v){}
T getV() const {return val;} };
template out;} template ostream & out; Out(ostream & o): out(o){} void operator() (const T & val ) { out< string tolower(const string & s) { string tmp(s); for(unsigned i = 0; i< tmp.size(); ++i){ tmp[i] = tolower(tmp[i]); } return tmp; } bool Less(const B return tolower(a.getV()) int main() { string t[]={"aaa","bbb","Aaa", "Bbb","aAa","bBb","aaA","bbB"}; vector > v1; v1.assign(t, t+8); stable_sort(v1.begin(), v1.end(), Less); for_each(v1.begin(), v1.end(), Out >(cout));cout< return 0; } Program outputs:
Gerry
4 months agoJosefa
4 months agoDenae
4 months agoLeontine
4 months agoKandis
4 months agoBambi
5 months agoJohanna
5 months agoCharlesetta
5 months agoDoug
5 months agoEdelmira
5 months agoKeena
5 months agoPercy
5 months agoVerlene
5 months agoLashaun
5 months agoNathalie
5 months ago