Consider the class foo with two constructors defined like this:
foo
class foo { public: foo(const std::string& filename) {std::cout <<
It's very common in C to write this
void f(T* ptr) { if (ptr) { // ptr is not NULL } }
You should make a const char* constructor.
const char*