QVector用法详细介绍

QVector用法详细介绍QVector 类是动态数组的模板类 顺序容器 它将自己的每一个对象存储在连续的内存中 可以使用索引号来快速访问它们 使用前需要包含头文件 include QVector 下面介绍 QVector 的基本用法 先看看它的一些方法 构造函数 QVector 无参的构造函数 QVector intsize 构造一个大小为 size 个值 QVector

       QVector类是动态数组的模板类,顺序容器,它将自己的每一个对象存储在连续的内存中,可以使用索引号来快速访问它们。使用前需要包含头文件 #include

      下面介绍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

intVec;

从尾部插入数据

void append(const T &value)   void append(const QVector 
  
    &value) void push_back(const T &value) void push_back(const QVector 
   
     &value) 
    
  

头部插入数据

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中第一个元素

  注意erase方法和std::vector有区别

移除vector中的所有元素

void clear();

容量大小

int capacity() const    返回vector客观上的容量 void reserve(int size)  扩展至少size大小的内存 int count() const    返回vector中的元素个数 int length() const    等同于count() int size() const     等同于count()

迭代器

QVector::iterator begin() 返回一个STL类型的迭代器指针指向vector的第一个元素 QVector::iterator end()  返回一个STL类型的迭代器指针指向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 void replace(int i, const T &value) //改变i位置元素的值 QVector::reference QVector::back() 返回vector中的最后一个元素的引用 等同于T &QVector::last() T &QVector::front()  返回vector中的第一个元素的引用 等同于T & first()

下面的代码是上述一些函数的使用方法:

#include 
  
    #include 
   
     #include 
    
      using namespace std; int main(int argc, char *argv[]) { QCoreApplication a(argc, argv); QVector 
     
       vec; vec.push_back(9); vec.append(3); vec.push_back(7); vec.push_front(5); vec.push_front(2); vec.append(6); vec.insert(0, 11); vec.insert(0, 12); vec.insert(4, -1); //12 11 2 5 9 3 7 6 for (int elem : vec) { cout << elem << " , "; } cout << endl; //删除元素 cout << "QVector删除数据操作" << endl; vec.pop_back(); vec.pop_front(); vec.remove(2, 1); //删除当前vec的第2个数据 for (int elem : vec) { cout << elem << " , "; } cout << endl; //当前vec的元素:11 2 -1 9 3 7 cout << "迭代器用法" << endl; //QVector 
      
        ::iterator it; //for (it = vec.begin(); it != vec.end(); it++) for(auto it= vec.begin(); it != vec.end(); it++) { if (*it == -1) { vec.erase(it); //删除掉-1 } cout << *it << " ,"; } cout << endl; vec.clear(); cout << "清空后vec大小 = " << vec.size() << endl; return a.exec(); } 
       
      
     
    
  

   运行结果:

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/219451.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月17日 下午10:31
下一篇 2026年3月17日 下午10:32


相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号