C ++ Qt返回对临时的引用

时间:2015-12-04 20:29:01

标签: c++ qt

我无法理解如何从函数临时内存中返回哈希字符串(不知道如何正确调用它)。现在,我有这个代码:

static const QString &Utils::md5(const QString &inStr)
{
    const QByteArray out = QCryptographicHash
            ::hash(inStr.toUtf8(), QCryptographicHash::Md5)
            .toHex();
    return QString(out);
}

但它在编译期间发出警告,在我运行程序后它会崩溃。

1 个答案:

答案 0 :(得分:2)

是的,你不能返回对本地对象的引用,甚至是引用const。我没有看到按值返回的问题,即:

static QString Utils::md5(const QString &inStr) { ... }