std::ostream& operator<<(std::ostream&, constchar*) is overloaded to print the null-terminated string that the pointer points to.
This is for convenience to allow constructs like cout << "hello"; to be possible.
Rarely do you ever need to know the actual address of string literals, but if you insist,
do cout << reintepret_cast<constvoid*>(p) << endl;
1 2 3 4 5 6 7 8
// Example program
#include <iostream>
int main()
{
constchar* plit = "Hello";
std::cout << reinterpret_cast<constvoid*>(plit) << std::endl;
}