相关疑难解决方法(0)

c_str使用不当

我有一个定义如下的方法:

const std::string returnStringMethod()
{
    std::string myString;

    // populate myString

    return myString;
}
Run Code Online (Sandbox Code Playgroud)

现在,在调用者中,我做了类似这样的事情:

const char * ptr = returnStringMethod().c_str(); 
Run Code Online (Sandbox Code Playgroud)

正如我所看到的,这是返回一些我没想到的截断字符串.但是,以下工作正常:

std::string str = returnStringMethod();
const char * ptr = str.c_str();
Run Code Online (Sandbox Code Playgroud)

有人可以帮我理解这里发生的事情吗?.

PS:我们每周构建一次代码.我上周提交代码时测试了这个,事情还不错.所以,我真的想知道我在这里可能缺少什么.

谢谢,帕万.

c++ pointers memory-management stdstring

3
推荐指数
1
解决办法
240
查看次数

标签 统计

c++ ×1

memory-management ×1

pointers ×1

stdstring ×1