当前位置: 首页 > 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!如果还有其他问题,请随时告诉我! 😊

http://www.dtcms.com/a/115758.html

相关文章:

  • 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组件
  • Qt 入门 2 之窗口部件 QWidget
  • k采样器是什么
  • Java-实现公有字段自动注入(创建人、创建时间、修改人、修改时间)
  • 神经网络之损失函数
  • Linux主要开发工具之gcc、gdb与make
  • 模型压缩技术从零到一
  • NO.67十六届蓝桥杯备战|基础算法-倍增思想|快速幂|快速乘法(C++)
  • nacos的地址应该配置在项目的哪个文件中
  • 【网安】处理项目中的一些常见漏洞bug(java相关)
  • 换脸视频FaceFusion3.1.0-附整合包