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

网站表单模板营销型网站

网站表单模板,营销型网站,温州制造作网站,网站做政务std::vector 是 C 标准库中的一个动态数组容器#xff0c;它提供了多种成员函数来管理其内部存储的元素。以下是一些常用的 std::vector 成员函数的介绍#xff1a; 构造函数和析构函数 vector(): 默认构造函数。vector(size_type n): 构造一个包含 n 个元素的向量#xf…std::vector 是 C 标准库中的一个动态数组容器它提供了多种成员函数来管理其内部存储的元素。以下是一些常用的 std::vector 成员函数的介绍 构造函数和析构函数 vector(): 默认构造函数。vector(size_type n): 构造一个包含 n 个元素的向量每个元素都进行值初始化。vector(size_type n, const value_type val): 构造一个包含 n 个元素的向量每个元素都被初始化为 val。vector(const vector other): 复制构造函数。vector(vector other): 移动构造函数。~vector(): 析构函数。 容量相关函数 size(): 返回向量中元素的数量。capacity(): 返回当前分配的存储空间能够容纳的元素数量。empty(): 检查向量是否为空。reserve(size_type n): 为向量分配至少能够容纳 n 个元素的空间。shrink_to_fit(): 释放不需要的内存以匹配当前大小。 元素访问 operator[]: 返回指定位置元素的引用。at(size_type n): 返回指定位置元素的引用并提供边界检查。front(): 返回第一个元素的引用。back(): 返回最后一个元素的引用。 修改器 assign(size_type n, const value_type val): 将向量中的所有元素替换为 n 个 val。push_back(const value_type val): 在向量的末尾添加一个元素。pop_back(): 删除向量末尾的元素。insert(const_iterator pos, const value_type val): 在指定位置插入一个元素。erase(const_iterator pos): 删除指定位置的元素。erase(const_iterator first, const_iterator last): 删除指定范围内的元素。clear(): 清空向量的所有元素。swap(vector other): 交换两个向量的数据。 迭代器 begin(): 返回指向向量第一个元素的迭代器。end(): 返回指向向量最后一个元素之后位置的迭代器。rbegin(): 返回指向向量最后一个元素的逆向迭代器。rend(): 返回指向向量第一个元素之前位置的逆向迭代器。 非成员函数 std::swap(vector a, vector b): 交换两个向量的数据非成员函数。operator, operator!, operator, operator, operator, operator: 比较两个向量的内容。 这些函数提供了对 std::vector 的基本操作使得 std::vector 成为 C 中非常灵活和强大的容器之一。使用这些函数时应该注意它们可能带来的性能影响尤其是在涉及大量元素的操作时。 尤其成员函数 swap 在 C 中std::vector 提供了一个成员函数 swap它可以用来交换两个 std::vector 容器的内容。这个函数是非常高效的因为它在大多数情况下不需要实际复制元素而是交换两个向量的内部数据结构从而在常数时间内完成操作。 以下是 std::vector 的 swap 函数的原型 void swap(vector other);这里是如何使用 swap 函数的一个例子 #include vector #include iostreamint main() {std::vectorint vec1 {1, 2, 3, 4, 5};std::vectorint vec2 {10, 20, 30, 40, 50};// 交换 vec1 和 vec2 的内容vec1.swap(vec2);// 输出交换后的向量内容std::cout vec1: ;for (int num : vec1) {std::cout num ;}std::cout \nvec2: ;for (int num : vec2) {std::cout num ;}return 0; }在上面的例子中vec1 和 vec2 的内容在调用 swap 后被交换。输出将会是 vec1: 10 20 30 40 50 vec2: 1 2 3 4 5swap 函数的几个应用场景包括 快速“清除”向量通过将向量与一个空的临时向量交换可以快速“清除”向量的内容而不需要逐个删除元素。 std::vectorint().swap(vec);这行代码将 vec 的内容交换到一个临时的空向量中从而清空 vec。 减少不必要的内存分配如果你知道一个 std::vector 将要存储更多的元素并且你想要避免因为元素增加而导致的多次内存分配可以先创建一个足够大的临时向量然后与原向量交换。 std::vectorint largeVec(size); vec.swap(largeVec);在函数中返回大量数据为了避免大量数据的复制可以使用 swap 来返回一个局部向量。 std::vectorint getLargeData() {std::vectorint localVec /* ... 初始化 ... */;// ...return localVec; // 使用移动语义来避免复制 } // 调用函数时 std::vectorint data getLargeData();在 C11 及以后的版本中返回局部对象时编译器会自动应用移动语义从而避免复制。在这种情况下即使不显式使用 swap也能获得高效的性能。
http://www.hkea.cn/news/14297854/

相关文章:

  • 二手书交易网站开发现状上海牛巨微seo关键词优化
  • 蓝色脚手架织梦企业网站模板wordpress移动顶部导航
  • 备用网站怎么做优秀中文企业网站欣赏
  • 哪些大型网站用mysqlhtml网页制作房地产页面
  • 服装建设网站的原因人网站建站
  • 福建路桥建设有限公司网站想做个网站 怎么做
  • 网站平台报价模板下载微信小程序注册后怎么登录
  • 网站怎么样做不违规青海建设厅质检站网站
  • 建设外贸企业网站松江团购做网站
  • 网页游戏网游seo排名优化软件
  • 南宁网站设适合小学生的新闻事件
  • 网站开发培训深圳兰州网络营销推广价格
  • 网站app的作用安阳昨天发生的事件
  • 嘉兴专业网站建设做uml图网站
  • 重视企业网站吉林网站建设找哪家
  • 梅河口市住房和城乡建设局网站合肥市网站建设
  • 网站 备案 查询一个做微信文章的网站
  • 音乐网站开发技术人员配置企业微信官网登录入口网页版
  • 网站网络结构设计网站logo设计在线生成
  • 济南建网站青岛高端网站建设公司
  • 天河网站建设技术私有云笔记 wordpress
  • 一个人网站运营怎么做哈尔滨网页设计师人才招聘
  • 南县网站建设推荐做完整的网站设计需要的技术
  • 农村建设开发有限公司网站江西省赣州市会昌县
  • 杭seo网站建设排名郑州技术支持seo
  • 佛山市门户网站建设公司ftp跟网络连接Wordpress
  • 做蛋糕的企业网站app定制网站建设应有尽有
  • 西安网站推广东营建设信息网站
  • 山西众邦建设集团网站重庆做网站 哪个好些嘛
  • wordpress静态网站博客深圳哪家公司做网站