c++ - 指向 QList 的指针 - at() 与 [] 运算符

标签 c++ qt qt4 qlist

我在理解 QList 的某些行为时遇到问题。

#include <QList>
#include <iostream>
using namespace std;

int main()
{
    QList<double> *myList;

    myList = new QList<double>;
    double myNumber;
    double ABC;

    for (int i=0; i<1000000; i++)
    {
        myNumber = i;
        myList->append(myNumber);
        ABC = myList[i]; //<----------!!!!!!!!!!!!!!!!!!!
        cout << ABC << endl;
    }

    cout << "Done!" << endl;
    return 0;
}

我在标记行收到编译错误无法将‘QList’转换为‘double’赋值。它在我使用 ABC = myList.at(i) 时起作用,但 QT 引用似乎说 at()[] operator 是一样。 有人知道有什么不同吗?

谢谢

最佳答案

那是因为 operator[] 应该应用于 QList object,但是 myList 是一个 指向QList的指针。

尝试

ABC = (*myList)[i];

相反。 (此外,正确的语法应该是 myList->at(i) 而不是 myList.at(i)。)

关于c++ - 指向 QList 的指针 - at() 与 [] 运算符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2230309/

相关文章:

multithreading - 对于多线程视频教练程序来说,这是一个合适的结构吗?

qt - 正确跟踪源模型行移动是 QSortFilterProxyModel 契约(Contract)的一部分吗?

c++ - 如何在不使用连接功能的情况下连接信号和插槽?

c++ - 小部件未正确显示

c++ - 如何在 Win32 上读取 wchar_t 缓冲区中的整个文件?

c++ - 在 std::pair 上使用 lambda 理解 std::find_if()

c++ - vector 的奇怪问题

qt - 如何让Qt Graphics View Framework支持自定义图层

python - PyQt:如何在 QStackedWidget 对象内移动小部件?

c++ - 与 qt4 (c++) 一起使用的好 ORM? ( Django 喜欢...)