当前位置: 首页 > news >正文

QVector成员

以下是关于 Qt 中 QVector 成员函数的详细表格,包含每个函数的含义、用法示例,并修正了大小写错误:

函数名称含义用法示例
append()向容器末尾添加一个元素QVector<int> vec; vec.append(5);
at()返回指定索引处的元素(不检查越界)int value = vec.at(0);
back()返回容器最后一个元素int last = vec.back();
begin()返回指向容器第一个元素的迭代器auto it = vec.begin();
capacity()返回当前容器的容量(即可以容纳的元素数量,无需重新分配内存)int cap = vec.capacity();
cbegin()返回指向容器第一个元素的常量迭代器auto it = vec.cbegin();
cend()返回指向容器末尾的常量迭代器auto it = vec.cend();
clear()清空容器,移除所有元素vec.clear();
constBegin()返回指向容器第一个元素的常量迭代器(同 cbegin())auto it = vec.constBegin();
constData()返回指向容器数据的常量指针const int* data = vec.constData();
constEnd()返回指向容器末尾的常量迭代器(同 cend())auto it = vec.constEnd();
constFirst()返回容器的第一个元素(常量版本)int first = vec.constFirst();
constLast()返回容器的最后一个元素(常量版本)int last = vec.constLast();
contains()检查容器是否包含指定值bool hasValue = vec.contains(5);
copyConstruct()复制构造函数(内部实现)内部使用,通常不需要直接调用
count()返回容器中指定值的出现次数int count = vec.count(5);
crbegin()返回指向容器末尾的反向常量迭代器auto it = vec.crbegin();
crend()返回指向容器开头的反向常量迭代器auto it = vec.crend();
data()返回指向容器数据的指针int* data = vec.data();
defaultConstruct()默认构造函数(内部实现)内部使用,通常不需要直接调用
destruct()析构函数(内部实现)内部使用,通常不需要直接调用
detach()从共享数据中分离容器,确保容器拥有独立的数据副本vec.detach();
empty()检查容器是否为空(同 isEmpty())bool isEmpty = vec.empty();
end()返回指向容器末尾的迭代器auto it = vec.end();
endsWith()检查容器是否以指定值结尾bool ends = vec.endsWith(5);
erase()从容器中移除指定位置的元素vec.erase(vec.begin() + 2);
fill()用指定值填充容器vec.fill(0);
first()返回容器的第一个元素int first = vec.first();
freeData()释放容器的数据(内部实现)内部使用,通常不需要直接调用
fromList()从 QList 转换为 QVectorQVector<int> vec = QVector<int>::fromList(list);
fromStdVector()从 std::vector 转换为 QVectorQVector<int> vec = QVector<int>::fromStdVector(stdVec);
front()返回容器的第一个元素(同 first())int first = vec.front();
indexOf()返回指定值第一次出现的索引int index = vec.indexOf(5);
insert()在指定位置插入一个元素vec.insert(2, 10);
isDetached()检查容器是否与共享数据分离bool isDetached = vec.isDetached();
isEmpty()检查容器是否为空bool isEmpty = vec.isEmpty();
isSharedWith()检查容器是否与另一个容器共享数据bool shared = vec.isSharedWith(otherVec);
isValidIterator()检查迭代器是否有效bool valid = QVector<int>::isValidIterator(it);
last()返回容器的最后一个元素int last = vec.last();
lastIndex()返回指定值最后一次出现的索引int index = vec.lastIndexOf(5);
length()返回容器的长度(同 size())int length = vec.length();
mid()返回从指定位置开始的子向量QVector<int> subVec = vec.mid(2, 3);
move()移动构造函数(内部实现)内部使用,通常不需要直接调用
operator!检查容器是否为空if (!vec) { ... }
operator+=在容器末尾添加一个元素vec += 10;
operator+连接两个 QVectorQVector<int> newVec = vec1 + vec2;
operator<<在容器末尾添加一个元素(同 append())vec << 10;
operator==比较两个 QVector 是否相等bool equal = (vec1 == vec2);
operator=赋值操作符vec1 = vec2;
operator[]返回指定索引处的元素int value = vec[0];
popBack()移除容器最后一个元素vec.popBack();
popFront()移除容器第一个元素vec.popFront();
prepend()在容器开头插入一个元素vec.prepend(10);
pushBack()在容器末尾添加一个元素(同 append())vec.pushBack(10);
pushFront()在容器开头插入一个元素(同 prepend())vec.pushFront(10);
rbegin()返回指向容器末尾的反向迭代器auto it = vec.rbegin();
reallocData()重新分配容器数据(内部实现)内部使用,通常不需要直接调用
remove()移除指定位置的元素vec.remove(2);
removeAll()移除所有指定值的元素vec.removeAll(5);
removeAt()移除指定位置的元素vec.removeAt(2);
removeFirst()移除容器第一个元素vec.removeFirst();
removeLast()移除容器最后一个元素vec.removeLast();
removeOne()移除一个指定值的元素vec.removeOne(5);
rend()返回指向容器开头的反向迭代器auto it = vec.rend();
replace()替换指定位置的元素vec.replace(2, 10);
reserve()预分配内存以提高性能vec.reserve(100);
resize()调整容器大小vec.resize(10);
setSharable()设置容器是否可共享vec.setSharable(true);
shrinkToFit()释放多余的内存vec.shrinkToFit();
size()返回容器的大小int size = vec.size();
squeeze()释放多余的内存(同 shrinkToFit())vec.squeeze();
startsWith()检查容器是否以指定值开头bool starts = vec.startsWith(5);
swap()交换两个 QVector 的内容vec1.swap(vec2);
takeAt()移除并返回指定位置的元素int value = vec.takeAt(2);
takeFirst()移除并返回容器第一个元素int value = vec.takeFirst();
takeLast()移除并返回容器最后一个元素int value = vec.takeLast();
toList()将 QVector 转换为 QListQList<int> list = vec.toList();
toStdVector()将 QVector 转换为 std::vectorstd::vector<int> stdVec = vec.toStdVector();
value()返回指定索引处的元素(安全版本,越界时返回默认值)int value = vec.value(0, -1);
~QVector()析构函数内部使用,通常不需要直接调用

修正的大小写问题:

  • countacount()
  • pop_frontpopFront()
  • shrink to fitshrinkToFit()
  • setsharablesetSharable()
  • takeLast/buidcustakeLast()
  • tostdvectortoStdVector()

希望这个表格能帮助你更好地理解和使用 QVector!如果还有其他问题,请随时告诉我! 😊

相关文章:

  • SQL Server表数据的插入、修改和删除
  • C++的多态-上
  • 【软件测试】性能测试 —— 基础概念篇
  • Kotlin语言进阶:协程、Flow、Channel详解(一)
  • Spring Boot + Kafka 消息队列从零到落地
  • 基于springboot科研论文检索系统的设计(源码+lw+部署文档+讲解),源码可白嫖!
  • bookkeeper基本概念
  • 【9】数据结构的串篇章
  • 理解进程和线程的概念
  • 3-数据之间的进制转换
  • 基于实时语音转换的AI语音增强技术解析——以Krisp和Sanas创新实践为例
  • ABS函数c++
  • 基于FLask的大众点评美食推荐系统的设计与实现
  • 2025 年网络安全终极指南
  • 在docker中安装RocketMQ
  • 使用 Python 连接 PostgreSQL 数据库,从 `mimic - III` 数据库中筛选数据并导出特定的数据图表
  • 学透Spring Boot — 017. 处理静态文件
  • AnimateCC基础教学:json数据结构的测试
  • CANoe CAPL——XCP CAPL函数
  • 【spring cloud Netflix】Hystrix组件
  • 正定网站建设/餐饮培训
  • 做指甲的网站/百度推广官方
  • 微信小程序与网站连接/文章代写
  • html5网站开发/广告营销包括哪些方面
  • 网络托管公司有哪些/郑州seo
  • 杭州北京网站建设公司哪家好/江苏seo团队