首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >QList<float*>类型的空返回值

QList<float*>类型的空返回值
EN

Stack Overflow用户
提问于 2013-12-19 08:00:21
回答 3查看 2.2K关注 0票数 0

我想为返回QList的方法返回一个默认的Null值(如果处理失败,我想返回)。

如何正确地构建一个空QList?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-12-19 08:04:36

通常,对于非指针类型,不存在“空值”。备选方案包括:

  • 在失败时抛出异常
  • 返回一个空列表,如果这永远不是一个有效的结果
  • 返回可空包装器类型,如boost::optional<QList>std::pair<bool, QList>
票数 5
EN

Stack Overflow用户

发布于 2013-12-19 10:24:56

返回一个指针到一个QList,然后测试它是否为空指针,我想这是你的问题,如果我误解了,很抱歉

代码语言:javascript
复制
void someClass::test()
{
    std::shared_ptr<QList<float> > testList = doSomething()
    if(testList == nulllptr)
    {
        // Then its null
    }
    else
    {
       // Do whatever you want with it
    }
}

std::shared_ptr<QList<float>> someClass::doSomething()
{
    std::shared_ptr<QList<float>> someList; // = NULL at the moment 

    if(weWantValues) // Lets just pretend this bool knows if we want values 
    {
        someList = std::make_shared<QList<float>(); // now a shared pointer to a list
        // Populate with whatever values you want. use ".get()" or "->" to access list
    }

    // this may be null or populated so check if it == nullptr before using
    // Like we do in the function above
    return someList;
}
票数 1
EN

Stack Overflow用户

发布于 2020-12-02 08:48:37

您可以使用return {}代替nullptr,如下所示:

代码语言:javascript
复制
QList<QObject *> getModel(int id)
{
    if (id < 0)
        return {};

    return m_myModel->model();
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20676270

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档