仅在此简单介绍QVector的一些常见函数,有兴趣的可以查下QT,在QT中介绍的很详细
构造函数,QVector的构造函数很多样化,常见的有
参考
QVector() 无参的构造函数
QVector(int size) 构造一个大小为size个 值为默认值的一个vector
QVector(int size,const T &value) 构造一个大小为size个 值为T &value的一个vector
QVector(const QVector &other)构造一个值为QVector &other的vector
// 将元素插入到vector的末尾
void append(const T &value)
void append(const QVector &value)
void push_back(const T &value)
void push_back(const QVector &value)
// 将元素插入到vector的开始
void prepend(const T &value)
void prepend(const QVector &value)
void push_front(const T &value)
void push_front(const QVector &value)
等同于vector.insert(0, value);
// 将元素插入到vector的任意位置
void insert(int i, const T &value) 将元素插入到i位置,i从0开始计算
void insert(int i, int count, const T &value) 从i位置开始插入count个T &value类型元素
// 删除元素
QVector::iterator erase(QVector::iterator pos) 从vector中移除pos对应的元素
void remove(int i, int count) 从vector中移除从 i开始的count个元素
void pop_back() 删除vector中最后一个元素
void pop_front() 删除vector中第一个元素
// 改变i位置元素的值
void replace(int i, const T &value)
// 使用迭代器进行查找
QVector::iterator begin() 返回一个STL类型的迭代器指针指向vector的第一个元素
QVector::iterator end() 返回一个STL类型的迭代器指针指向vector的最后一个元素后面的假想元素
// capacity,reserve,count,length,size的比较
int capacity() const 返回vector客观上的容量
void reserve(int size) 扩展至少size大小的内存
int count() const 返回vector中的元素个数
int length() const 等同于count()
int size() const 等同于count()
QVector::reference QVector::back() 返回vector中的最后一个元素的引用 等同于T &QVector::last()
T &QVector::front() 返回vector中的第一个元素的引用 等同于T & first()
void clear() 移除vector中的所有元素
bool empty() const 判断vector是否为空,如果为空返回true,else返回false
int count(const T &value) const 返回T &value类型元素在vector中的个数
int indexOf(const T &value, int from=…) const 返回 value在vector中T &value类型元素的位置
const T &at(int i)const 返回 i位置元素 在vector的index
等同于 T QVector::value(int i) const //即返回下标处所存的值
与之相对的:
QVector::indexOf(i) 返回的是值对应的下标,如果没有则返回-1
QVector tempX ;
qSort(tempX.begin(), tempX.end());//从小到大排序
1.定义一个int类型的QVector数据类型
QVector six_point;
2.获取这个数据类型的首数据:注意是front而非begin
three_point.front()
3.获取这个数据类型的尾数据:注意是back而非end
rightline.back()
4.迭代这个数据类型的所有数据:
QVector::iterator iter;//迭代器
for (iter=rightline.begin();iter!=rightline.end();iter++)
{
qDebug<<*iter;
}
在迭代中,获取当前迭代上5个的数据:
QVector::iterator iter;//迭代器
for (iter=rightline.begin();iter!=rightline.end();iter++)
{
qDebug<<*(iter-5);//运行可能出错,但写法正确,理解意思就好
}
5.弹出元素(删除的意思,注意不会返回数据,只是删除)
弹出最后一个元素:
six_point.pop_back();
弹出第一个元素:
six_point.pop_front();
弹出从i开始的count个元素:
void remove(int i, int count) 从vector中移除从 i开始的count个元素