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:
Carey
2 months agoDesirae
1 months agoMalcom
2 months agoAltha
2 months agoJannette
2 months agoNelida
1 months agoNelida
1 months agoQuentin
2 months agoCarey
2 months agoCorinne
2 months agoMammie
1 months agoLouisa
1 months agoVince
2 months agoCyril
2 months agoBarbra
3 months agoEvangelina
3 months ago