【问题标题】:C++ Qt Returning reference to a temporaryC ++ Qt返回对临时的引用
【发布时间】:2015-12-05 04:33:43
【问题描述】:

我不明白如何从函数临时内存中返回一个散列字符串(不知道如何正确调用它)。现在,我有这个代码:

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

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

【问题讨论】:

标签: c++ qt


【解决方案1】:

是的,您不能返回对本地对象的引用,即使是对 const 的引用。我看不出按值返回有问题,即:

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

【讨论】:

  • 非常感谢,我明白我的错误了!我的问题是我需要为我的语言编写未知项目......所以我尽可能快地学习它。附言对不起我的英语。
  • 我提供了一份您可以阅读的副本。下次做更好的研究。你有关键字。
  • 也许,我的英语也有问题。我理解上面的答案,但在类似的主题中没有。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-11-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多