跟我一起学QT8:容器类

0. 源代码下载

1. QVector容器基本操作

https://github.com/leichaojian/qt/tree/master/vector

2. 循环输出(java和STL风格)

https://github.com/leichaojian/qt/tree/master/foreach


1. QVector容器基本操作

1. 关键代码

//通过[]操作符--知道大小情况下
    vect.resize(3);
    vect[0] = 1.0;
    vect[1] = 2.0;
    vect[2] = 3.0;

    //通过append--不知道大小情况下
    vect.append(4.0);
    vect.append(5.0);
    vect.append(6.0);

    //通过<<操作符
    vect << 7.0 << 8.0 << 9.0;



2. 程序效果图

跟我一起学QT8:容器类_第1张图片


2. 循环输出(java和STL风格)

1. 关键代码

//java风格
    QListIterator<double> i(list);
    //不用qDebug,因为其会自动换行
    //向后迭代输出
    while (i.hasNext()) {
        cout << i.next() << " ";
    }
    cout << endl;
    //向前迭代输出
    i = list;
    i.toBack();
    while (i.hasPrevious()) {
        cout << i.previous() << " ";
    }
    cout << endl;

    //STL风格
    //向后迭代输出
    vector<double> dvec(list.begin(), list.end());
    vector<double>::iterator beg = dvec.begin();
    for (; beg != dvec.end(); beg++) {
        cout << *beg << " ";
    }
    cout << endl;
    //向前迭代输出
    vector<double>::reverse_iterator rbeg = dvec.rbegin();
    for (; rbeg != dvec.rend(); rbeg++) {
        cout << *rbeg << " ";
    }
    cout << endl;



2. 程序输出

跟我一起学QT8:容器类_第2张图片


你可能感兴趣的:(qt,容器类)