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

提供免费建网站的网创业商机

提供免费建网站的网,创业商机,做网站需要撑握哪些技术,wordpress伪静态链接博主首页#xff1a; 有趣的中国人 专栏首页#xff1a; C专栏 本篇文章主要讲解vector使用的相关内容 1. vector简介 vector 是 C 标准库中的一个容器类模板#xff0c;它提供了动态数组的功能#xff0c;可以方便地管理和操作元素的集合。下面是关于 vector 的一些基本信… 博主首页 有趣的中国人 专栏首页 C专栏 本篇文章主要讲解vector使用的相关内容 1. vector简介 vector 是 C 标准库中的一个容器类模板它提供了动态数组的功能可以方便地管理和操作元素的集合。下面是关于 vector 的一些基本信息 头文件 vector 定义在 头文件中使用时需要包含该头文件。使用命名空间 vector 类定义在 std 命名空间中因此需要使用 std::vector 或者在代码开头添加 using namespace std; 来简化使用。容器特点 vector 是一个序列式容器它以动态数组的形式存储元素并提供了在数组末尾快速插入和删除元素的功能。元素类型 vector 可以存储几乎任何类型的元素例如整数、浮点数、对象或其他容器只要这些类型满足一定的要求例如可移动构造函数和析构函数等。动态大小 vector 允许动态分配和释放内存可以根据需要动态调整大小而无需手动管理内存。访问元素 可以使用下标运算符 [] 或者 at() 方法访问 vector 中的元素。插入和删除 可以使用 push_back() 方法将元素插入到 vector的末尾使用 pop_back() 方法删除末尾的元素还可以使用 insert() 方法在指定位置插入元素使用 erase() 方法删除指定位置的元素。动态调整大小 可以使用 resize() 方法动态调整 vector 的大小增加或减少元素数量还可以使用 reserve() 方法预留一定的容量避免频繁的重新分配内存。遍历元素 可以使用迭代器或者基于范围的 for 循环遍历 vector 中的元素。其他操作 vector 还提供了许多其他有用的方法例如获取大小、判断是否为空、清空容器、交换容器等。 vector 是 C 中常用的容器之一它提供了灵活且高效的动态数组功能适用于各种场景和用途。 3. vector iterator 的使用 类似的vector的迭代器也分为正向和反向const和非const即 iteratorreverse_iteratorconst_iteratorconst_reverse_iterator iterator 示例 void vector_test2() {vectorint v;v.push_back(1);v.push_back(2);v.push_back(3);v.push_back(4);v.push_back(5);vectorint::iterator it v.begin();while (it ! v.end()){cout *it ;it;}cout endl;it v.begin();// 可修改while (it ! v.end()){*it;it;}it v.begin();while (it ! v.end()){cout *it ;it;}cout endl;}reverse_iterator 示例 void vector_test3() {vectorint v;v.push_back(1);v.push_back(2);v.push_back(3);v.push_back(4);v.push_back(5);vectorint::reverse_iterator it v.rbegin();while (it ! v.rend()){cout *it ;it;}cout endl;it v.rbegin();while (it ! v.rend()){*it;it;}it v.rbegin();while (it ! v.rend()){cout *it ;it;}cout endl; }const_iterator 示例 void vector_test4() {const vectorint v(10,10);vectorint::const_iterator it v.begin();while (it ! v.end()){cout *it ;it;}cout endl;// 不可修改/*it v.begin();while (it ! v.end()){*it;it;}*/ }const_reverse_iterator 示例 void vector_test5() {const vectorint v(10, 66);vectorint::const_reverse_iterator it v.rbegin();while (it ! v.rend()){cout *it ;it;}cout endl; }3. vector 容量操作 3.1 vector 空间增长问题 对于 vector 的容量操作重点有以下几个 sizecapacityemptyresize 可以用以下代码查看 vector 的空间增长 void TestVectorExpand() {size_t sz;vectorint v;sz v.capacity();cout making v grow:\n;for (int i 0; i 100; i){v.push_back(i);if (sz ! v.capacity()){sz v.capacity();cout capacity changed: sz \n;}} }vs下使用的STL基本是按照1.5倍方式扩容。 3.2 reserve 提前预留空间 我们知道频繁扩容会对效率大大提高因此当我们知道需要使用多少空间的时候应当提前预留空间用 reserve 函数即可。 void TestVectorExpand() {size_t sz;vectorint v;sz v.capacity();v.reserve(100); // 提前将容量设置好可以避免一遍插入一遍扩容cout making v grow:\n;for (int i 0; i 100; i){v.push_back(i);if (sz ! v.capacity()){sz v.capacity();cout capacity changed: sz \n;}} }3.3 size()、capacity()、resize() void vector_test6() {vectorint v(100, 66);cout v.size() endl;cout v.capacity() endl;// 不会缩容v.resize(50);cout v.capacity() endl;// 按照内存对齐的方式给空间v.resize(120);cout v.size() endl;cout v.capacity() endl; }4.vector 的增删改查 注意这里的insert() 有三种重载形式而且在算法库 iterator insert(iterator pos, const T value); iterator insert(iterator pos, size_type count, const T value); iterator insert(iterator pos, InputIterator first, InputIterator last); pos 是插入的位置类型为迭代器表示插入元素的位置。value 是要插入的元素值。count 是要插入的元素个数。first 和 last 是迭代器范围表示要插入的元素序列的起始和结束位置。 void vector_test7() {vectorint v;v.push_back(1);v.push_back(2);v.push_back(3);v.push_back(4);v.push_back(5);for (auto e : v){cout e ;}cout endl;//vectorint::iterator pos find(v.begin(), v.end(), 3);auto pos find(v.begin(), v.end(), 3);if (pos ! v.end()){v.insert(pos, 30);}// 头插v.insert(v.begin(), 0);for (auto e : v){cout e ;}cout endl;v.insert(v.begin() 2, 0);for (auto e : v){cout e ;}cout endl;string s(abcd);v.insert(v.begin(), s.begin(), s.end());for (auto e : v){cout e ;}cout endl; }
http://www.zqtcl.cn/news/914383/

相关文章:

  • 网站上的图片怎么替换中国电力建设集团网站
  • 开发手机网站步骤手机网站前端开发布局技巧
  • 文山文山市网站建设网站建设管理教程视频
  • 深圳建筑业协会官网seo短视频新地址在哪里
  • 学院宣传网站制作大型网站团队人数
  • 新品发布会ppt参考友山建站优化
  • 做网站云服务器装系统厦门网站建设哪家强
  • 网站建设顶呱呱东莞建设信息网官网
  • 化妆品网站下载企业宣传片报价明细
  • php建设网站怎么用网站建设忽悠
  • 网站软件app免费注册账号qq
  • 清河网站建设公司西安开发网站的公司
  • 怎么用自己的服务器做网站软件接口设计文档
  • 昆明做网站建设找谁郑州网站制作的公司哪家好
  • 天津seo网站推广如何做医美机构网站观察分析
  • 东莞网站到首页排名网站建设与设计主要是干什么的
  • 自己做网站要花钱吗个人网站可以做资讯吗
  • 做vr效果图的网站做小程序的公司有哪些比较好
  • 物流建设网站总结制作壁纸的软件
  • 自己电脑做主机怎么做网站培训公司排名
  • 网站seo优化排名qq空间wordpress搬家
  • 做二手元器件那个网站查价格元气森林网络营销策略分析
  • 优质网站建设是哪家17网站一起做网店不发货
  • 建设企业网银如何对账seo优化推广工程师
  • 广州制作外贸网站小说网站制作公司
  • 东莞南城网站建设价格注册深圳公司有什么好处
  • 做网站图片大小建个人网站要多少钱
  • 北京免费建网站seo网站关键词
  • 南宁网站制作公司dede网站建站教程
  • 辽宁省建设工程招标协会网站自建网站主题及策划