【发布时间】:2020-07-02 11:03:18
【问题描述】:
我有以下课程:
class RequestBuilder : QObject
{
Q_OBJECT
public:
static RequestBuilder& getInstance()
{
static RequestBuilder instance;
return instance;
}
RequestBuilder(RequestBuilder const&) = delete;
void operator=(RequestBuilder const&) = delete;
void setUrl(const QString& url){ url_ = url; };
QString url() const { return url_; };
private:
RequestBuilder(){};
QString url_ = "some_string";
};
1.) 当我这样称呼它时,我得到一些不可读的字节(输出混乱):
const char* val = RequestBuilder::getInstance().url().toStdString().c_str();
printVal(val);
2.) 当我这样称呼它时,结果是正确的:
auto string = RequestBuilder::getInstance().url().toStdString();
const char* val = string.c_str();
printVal(val);
在第一种情况下我做错了什么?
【问题讨论】: