Quote Originally Posted by Lindley View Post
In this case, :: tells the compiler to use the version in the global namespace, which is the C version.
Don't forget that I've used use namespace std;, so now, global namespace = std namespace...

Quote Originally Posted by kempofighter View Post
I prefer to just type the namespace each time or add the using declaration at function scope for the specific things
Using declaration is something like this ?

Code:
using std::cout;
using std::cin;
Quote Originally Posted by laserlight View Post
after considering what the standard guarantees about <cctype>, I decided that a better approach is to write a function object wrapper for tolower.
Is it what you had in mind ?

Code:
#include <iostream>
#include <algorithm>
#include <string>
#include <cstdlib>

using namespace std;

char my_tolower(char c)
{
    return tolower(c);
}
//-------------------------------------------
int main()
{
    string a;

    transform(a.begin(), a.end(),
              a.begin(), my_tolower);
}
//-------------------------------------------
Quote Originally Posted by laserlight View Post
Now, the next question: what's with the difference between MSVC and the Comeau online compiler versus g++?
Developers of g++ have added some overload functions - that's all...