std::cout is an instance of std::ostream. std::cout << "something" calls one of the operator<< overloads as would be done for any instance of std::ostream. It's "special" in that it references the console, but otherwise it behaves exactly as an ofstream or an ostringstream would.
cout offers a safer and more convenient way to handle output in C++ for most cases. printf provides more low-level control and might be useful in specific scenarios where formatting or performance is a major priority.
So in your case, calling the member operator<< will indeed print the pointer value, since std::cout does not have an overload for const char*. Instead you can call the free function operator<< like this:
Forgive me for possibly asking a fairly simple question, but what does the insertion operator actually mean and do in a program? (eg. cout << / cin >>)
O cout não é uma palavra-chave da linguagem, é um objeto da biblioteca padrão e só pode ser usada através do namespace std e inclusão do header iostream. O significado seria console output. Assim como cin seria console input. Ambos são streams de entrada e saída de dados pelo console. Há quem considere que o "c" seria character. Pelo menos é o que diz o criador da linguagem. É ...
Possible Duplicate: What does the “c” mean in cout, cin, cerr and clog? Can someone please explain to me what cout stands for?
Whereas for "cout", imagine creating a pipe connected to the console and your program and an object "cout" taking its input from the program and dumping them on to the console.