Typically speaking, C-style char*s are only used to mean strings when using C libraries such as Windows or OpenGL. char*s themselves have other uses; for example, as an array of bytes (a single character can hold a single byte) for memory operations. However, of course then you are better off using std::vector <char> anyway.