别再乱用std::vector了!C++容器选择的黄金法则
你写的C++代码是不是这样?// 场景1:频繁在中间插入删除 std::vector vec; for (int i = 0; i < 100000; ++i) { vec.insert(vec.
C++容器 std::vector 对内存的影响
一、引言:std::vector 的内存行为std::vector 是 C++标准库中最常用的序列容器之一,其核心特征是动态数组——能够在运行时自动扩容以适应数据增长。然而,这种便利性背后隐藏着复杂的内存管理行为,如果使用不当,可能导致严重的内存浪费和性能问题。
从零手写一个vector,彻底搞懂C++内存管理
你有没有过这样的经历——写C++代码时,vector用得滚瓜烂熟,但每次看到“内存泄漏”“迭代器失效”这些词,心里还是有点发虚?就像你会开车,却不知道发动机怎么工作,总有点不踏实。今天,我们不聊什么高深理论,就动手造一个自己的vector。
vector扩容为什么危险?一个真实血案告诉你
先直接说结论:vector扩容危险,不是因为扩容本身会崩,而是扩容会触发“链式反应”,把你代码里所有隐藏的坑一次性引爆。我当年因为这个,通宵三天。一个真实案例有个同事写的代码,逻辑很简单:遍历一个vector,满足条件就继续往里加新元素。
C++20必看:vector和list性能对决,90%开发者都用错了
一、一行代码差10倍性能?C++容器选型踩坑太致命做C++开发的程序员,几乎没人没用到过std::vector和std::list这两个容器。它们作为C++ STL里最基础、最常用的序列容器,承载着代码里绝大多数数据存储的需求,堪称开发者的“左右手”。
十行代码实现十亿图片检索,我们把它开源了
【CSDN 编者按】仅仅十行代码、一台服务器便可实现十亿图库的以图搜图?还是开源的!到底是什么黑科技呢?下面带你一览高性能向量搜索引擎Milvus的前世今生。作者 | 星爵对,你只需一台服务器,区区十行代码,就可以轻松实现十亿图库的以图搜图,响应时间仅为数百毫秒。
Milvus Java 实战:Spring Boot 集成向量数据库,构建企业级向量检索
前面几篇文章,我们已经学习了 Milvus 的核心概念、Collection、Schema、向量索引、Embedding,以及标量过滤和混合检索。这些知识解决的是“Milvus 是什么”和“如何使用 Milvus”的问题。
C++ vector 简介
vector是一个动态数组,用于存储一组连续的、同类型的元素。它的大小可以根据需要动态变化,而且能够进行快速的插入和删除操作,因此在实际开发中经常被使用。vector是C++ STL中的一种容器,其定义在头文件中。它是一个模板类,可以存储任何类型的数据。