如何在std :: string中存储const char*?

Aqu*_*irl 6 c++ string pointers stl

    char       *buffer1 = "abc";

    const char *buffer2 = (const char*) buffer;

    std :: string str (buffer2);
Run Code Online (Sandbox Code Playgroud)

这有效,但我想声明std :: string对象即str,一次并多次使用它来存储不同的const char*.

出路是什么?

Oli*_*rth 14

你可以重新分配:

const char *buf1 = "abc";
const char *buf2 = "def";

std::string str(buf1);

str = buf2; // Calls str.operator=(const char *)
Run Code Online (Sandbox Code Playgroud)