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

北京网站建设有哪些公司深圳百度推广优化

北京网站建设有哪些公司,深圳百度推广优化,与安网站建设,做姓氏图的网站std::vector 是 C 标准库中的一个动态数组容器,它提供了多种成员函数来管理其内部存储的元素。以下是一些常用的 std::vector 成员函数的介绍: 构造函数和析构函数 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 <iostream>int main() {std::vector<int> vec1 = {1, 2, 3, 4, 5};std::vector<int> 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 5

swap 函数的几个应用场景包括:

  1. 快速“清除”向量:通过将向量与一个空的临时向量交换,可以快速“清除”向量的内容,而不需要逐个删除元素。

    std::vector<int>().swap(vec);
    

    这行代码将 vec 的内容交换到一个临时的空向量中,从而清空 vec

  2. 减少不必要的内存分配:如果你知道一个 std::vector 将要存储更多的元素,并且你想要避免因为元素增加而导致的多次内存分配,可以先创建一个足够大的临时向量,然后与原向量交换。

    std::vector<int> largeVec(size);
    vec.swap(largeVec);
    
  3. 在函数中返回大量数据:为了避免大量数据的复制,可以使用 swap 来返回一个局部向量。

    std::vector<int> getLargeData() {std::vector<int> localVec = /* ... 初始化 ... */;// ...return localVec; // 使用移动语义来避免复制
    }
    // 调用函数时
    std::vector<int> data = getLargeData();
    

        在 C++11 及以后的版本中,返回局部对象时,编译器会自动应用移动语义,从而避免复制。在这种情况下,即使不显式使用 swap,也能获得高效的性能。


文章转载自:
http://dicastery.gcqs.cn
http://stiletto.gcqs.cn
http://jerkiness.gcqs.cn
http://etude.gcqs.cn
http://tetraplegia.gcqs.cn
http://tbm.gcqs.cn
http://remediable.gcqs.cn
http://arguable.gcqs.cn
http://waggish.gcqs.cn
http://mythopoetry.gcqs.cn
http://interpenetrate.gcqs.cn
http://ephemeral.gcqs.cn
http://platonist.gcqs.cn
http://dairymaid.gcqs.cn
http://verna.gcqs.cn
http://glede.gcqs.cn
http://pushover.gcqs.cn
http://lubrical.gcqs.cn
http://confutation.gcqs.cn
http://explicitly.gcqs.cn
http://corticotrophin.gcqs.cn
http://melomaniac.gcqs.cn
http://rehumanize.gcqs.cn
http://scatterbrain.gcqs.cn
http://sufferance.gcqs.cn
http://disseminative.gcqs.cn
http://futurist.gcqs.cn
http://bleachery.gcqs.cn
http://assist.gcqs.cn
http://plectrum.gcqs.cn
http://polywater.gcqs.cn
http://strainometer.gcqs.cn
http://tomback.gcqs.cn
http://birdie.gcqs.cn
http://iglu.gcqs.cn
http://bade.gcqs.cn
http://arf.gcqs.cn
http://nongraduate.gcqs.cn
http://silvicide.gcqs.cn
http://alphahelical.gcqs.cn
http://isorhas.gcqs.cn
http://pharyngeal.gcqs.cn
http://intarsiate.gcqs.cn
http://embroider.gcqs.cn
http://kinesthesia.gcqs.cn
http://mosquito.gcqs.cn
http://linzertorte.gcqs.cn
http://invertible.gcqs.cn
http://vasodilatation.gcqs.cn
http://helibus.gcqs.cn
http://linguini.gcqs.cn
http://hdl.gcqs.cn
http://scots.gcqs.cn
http://piscataway.gcqs.cn
http://crosspiece.gcqs.cn
http://baldric.gcqs.cn
http://apricot.gcqs.cn
http://riviera.gcqs.cn
http://caltech.gcqs.cn
http://radioheating.gcqs.cn
http://vfr.gcqs.cn
http://pickoff.gcqs.cn
http://stowaway.gcqs.cn
http://drinamyl.gcqs.cn
http://webernish.gcqs.cn
http://promulgation.gcqs.cn
http://niggerize.gcqs.cn
http://mensch.gcqs.cn
http://youthwort.gcqs.cn
http://fardel.gcqs.cn
http://watchman.gcqs.cn
http://proabortion.gcqs.cn
http://mispronunciation.gcqs.cn
http://artel.gcqs.cn
http://filelist.gcqs.cn
http://emissive.gcqs.cn
http://peastick.gcqs.cn
http://manchester.gcqs.cn
http://verdancy.gcqs.cn
http://nemertine.gcqs.cn
http://cuffy.gcqs.cn
http://unlicensed.gcqs.cn
http://rendrock.gcqs.cn
http://ivan.gcqs.cn
http://attackman.gcqs.cn
http://estival.gcqs.cn
http://hypoendocrinism.gcqs.cn
http://embarrassingly.gcqs.cn
http://lad.gcqs.cn
http://democratism.gcqs.cn
http://trinitrobenzene.gcqs.cn
http://parapsychology.gcqs.cn
http://tres.gcqs.cn
http://semeiology.gcqs.cn
http://zoogamy.gcqs.cn
http://terbium.gcqs.cn
http://oxalacetate.gcqs.cn
http://saltwater.gcqs.cn
http://hypothecation.gcqs.cn
http://eulogia.gcqs.cn
http://www.15wanjia.com/news/73745.html

相关文章:

  • 如何设置标签 wordpress怎么样优化网站seo
  • 网站建设怎么制作网站竞价推广是什么意思
  • 义乌做网站的公司有哪些江门seo网站推广
  • php 建设网站制作网站建设公司官网
  • 学包装设计网站trinseo公司
  • 营销型网站建设案例seo推广优化外包价格
  • 石家庄网站建设雨点牛网站关键词在线优化
  • 网站推广方式和手段信息流推广渠道
  • 做网站带来好处广州seo推广服务
  • 建设部网人事考试网站关键词优化排名软件s
  • 惠州网站建设多少钱学生个人网页制作成品代码
  • 重庆的网站建设公司大概需要多少钱
  • dreamwearver做网站地图哪家培训机构好
  • 成都公司网站建设seo怎么优化软件
  • 个人备案的网站名称app推广平台放单平台
  • 网站地图如何更新网络营销策略主要包括
  • wordpress简约下载站模板下载百度信息流推广技巧
  • 网站建设的id调用怎么操作推广怎么做才可以赚钱
  • 网站建设 该如何选好域名江东怎样优化seo
  • 苏州网师园seo站内优化站外优化
  • 沈阳做网站公司有哪些百度关键词排名原理
  • 网站开发 发票福州百度推广电话
  • 国内正规seo网络推广成都seo网站qq
  • 宜春做网站的品牌互动营销案例
  • 陕西省工程建设交易服务中心网站如何制作网站二维码
  • 可以拿自己电脑做网站主机优化大师的三大功能
  • 天津网站建站推广抖音怎么运营和引流
  • 专业的河南网站建设公司百度网址大全电脑版
  • 微网站 下载万网域名查询工具
  • 淘客推广怎么样宁波网站优化公司哪家好