变量陷入If

Pat*_*o05 0 c++ string if-statement const char

我正在尝试学习C++,而我正在创建一些无用的应用程序来测试.我正在使用const char和参数,在这段代码中我无法获得标题字符串.

const char* title = "";
if (argc >= 3) {
    string tittle(argv[2]);
    title = tittle.c_str();
}
Run Code Online (Sandbox Code Playgroud)

请帮我!

R S*_*ahu 6

问题是当你使用时

    title = tittle.c_str();
Run Code Online (Sandbox Code Playgroud)

你留下一个悬垂的指针.而不是const const* title,使用std::string title.

std::string title;
if (argc >= 3) {
    title = argv[2];
    cout << "true";
}
Run Code Online (Sandbox Code Playgroud)

如果您需要char const*稍后在您的程序中,您可以使用title.c_str().希望你不需要它.