Qt/C++工作笔记-对vector与QVector中erase操作的进一步认识(区别与联系)
                                                            生活随笔
收集整理的這篇文章主要介紹了
                                Qt/C++工作笔记-对vector与QVector中erase操作的进一步认识(区别与联系)
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.                        
                                VS代碼如下:
#include <iostream> #include <vector> using namespace std;void main(){vector<int> intVec;for (int i = 0; i < 10;i++){intVec.push_back(i);}vector<int>::iterator iter;for (iter = intVec.begin(); iter != intVec.end(); iter++){if ((*iter) == 5){intVec.erase(iter);break;}}getchar();}從局部變量框圖中可以得到:
使用erase后,不僅僅會把要刪除的數(shù)刪除,還會把數(shù)組前移,這是十分令人happy的事情。
不過他的大小,也就是size是不會變的。(這里注意了,QVector中有append,這個會和傳統(tǒng)的vector不同)
下面是QVector,他和vector一個吊樣
Qt的代碼如下:
#include <QApplication> #include <QVector>int main(int argc, char *argv[]) {QApplication a(argc, argv);QVector<int> intVec;for(int i=0;i<10;i++)intVec.append(i);QVector<int>::iterator iter;for(iter=intVec.begin();iter!=intVec.end();iter++){if((*iter)==5){intVec.erase(iter);break;}}return a.exec(); }也看下局部變量
這里可以看到,大部分地方都一樣,不一樣的就是Qt中有append操作。
這個操作很有意思,當erase后,這個QVector的大學會變小,你沒有看錯,真的變小了。
這是更令人happy的事情
總結(jié)
以上是生活随笔為你收集整理的Qt/C++工作笔记-对vector与QVector中erase操作的进一步认识(区别与联系)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: Qt工作笔记-使用qrand与QTime
- 下一篇: Qt工作笔记-动态曲线图
