在C++中,string literal的型别并不是std::string,而是C语言的const char*,也就是const char array,之所以能直接写std::string str = "C++" 或 str::string str("C++"),是因为std::string的copy constructor帮我们将const char*转成std::string,反之,有的函数只能用const char*,如IO的ifstream(),若是std::string,就必须用std::string.c_str()将std::string转成const char*。