#include <iostream> #include <string> #include <memory> using namespace std; const char* string2constchar(string s){ shared_ptr<string> tmp (new string(s)); return tmp->c_str(); } int main() { string s = "demo"; char *_c = new char[s.size() + 1]; copy(s.begin(), s.end(), _c); _c[s.size()] = '\0'; const char* c = string2constchar(s); std::cout << c << std::endl; std::cout << _c << std::endl; s = "test"; std::cout << c << std::endl; std::cout << _c << std::endl; delete _c; return 0; }
浙公网安备 33010602011771号