Oh coool :D so u can now make program for emoticons ..that's gr8! At first, I saw the output D ...that confused me u (who call for simplicity :D) definitely won't write lines of code to display a D when u can write a single line so I "cleaned my glasses for better view" :D
I see you started to use Google Reader :D The output is ":D" btw. And btw this is simplicity in the sense of expressiveness and ( some other word i really try to remember !, it means saying what u want simply and accurately ). Example: transfrom(BIGstr.begin(),BIGstr.end(),smallstr.begin(),tolower); tolower is a defined function is ISO C. It simply means make the BIGstr to lower case and put the result in smallstr. It saved you a loop. One of the powers of STL is extensibility. You can actually put any function (or functor <<<) or composite functors to make operations that you may think you will have to write the loop yourself to do it. for example from http://www.sgi.com/tech/stl/functors.html list<int> L; ... list<int>::iterator new_end = remove_if(L.begin(), L.end(), compose2(logical_and<bool>(), bind2nd(greater<int>(), 100), bind2nd(less<int>(), 1000))); L.erase(new_end, L.end()); this code will simply remove elements greater than 100 and less than 1000 from any non-const iteratable container (not just list, includes : slist, map, etc.). STL is a great world, expressive power is the key.
2 comments:
Oh coool :D so u can now make program for emoticons ..that's gr8! At first, I saw the output D ...that confused me u (who call for simplicity :D) definitely won't write lines of code to display a D when u can write a single line so I "cleaned my glasses for better view" :D
I see you started to use Google Reader :D
The output is ":D" btw.
And btw this is simplicity in the sense of expressiveness and ( some other word i really try to remember !, it means saying what u want simply and accurately ).
Example:
transfrom(BIGstr.begin(),BIGstr.end(),smallstr.begin(),tolower);
tolower is a defined function is ISO C. It simply means make the BIGstr to lower case and put the result in smallstr.
It saved you a loop.
One of the powers of STL is extensibility. You can actually put any function (or functor <<<) or composite functors to make operations that you may think you will have to write the loop yourself to do it.
for example from
http://www.sgi.com/tech/stl/functors.html
list<int> L;
...
list<int>::iterator new_end =
remove_if(L.begin(), L.end(),
compose2(logical_and<bool>(),
bind2nd(greater<int>(), 100),
bind2nd(less<int>(), 1000)));
L.erase(new_end, L.end());
this code will simply remove elements greater than 100 and less than 1000 from any non-const iteratable container (not just list, includes : slist, map, etc.).
STL is a great world, expressive power is the key.
Post a Comment