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
10 months agoJosefa
10 months agoDenae
10 months agoLeontine
10 months agoKandis
11 months agoBambi
11 months agoJohanna
11 months agoCharlesetta
11 months agoDoug
11 months agoEdelmira
11 months agoKeena
11 months agoPercy
11 months agoVerlene
11 months agoLashaun
11 months agoNathalie
11 months ago