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

网站已备案 还不能访问成都优化网站哪家公司好

网站已备案 还不能访问,成都优化网站哪家公司好,简述一个网站开发流程,如何提高网站的曝光率[TOC](C: vector (1)) C: vector (1) 一、vector的基本使用 1. 成员函数![以上是 C 标准库中 std::vector 容器的成员函数、迭代器、容量相关接口说明,属于 C 编程知识里 STL(标准模板库)的内容,以下是关键信息梳理: 成…

@[TOC](C++: vector (1))

C++: vector (1)

一、vector的基本使用

1. 成员函数

在这里插入图片描述
![以上是 C++ 标准库中 std::vector 容器的成员函数、迭代器、容量相关接口说明,属于 C++ 编程知识里 STL(标准模板库)的内容,以下是关键信息梳理:

  • 成员函数(Member functions):涉及 vector 的构造(创建对象 )、析构(销毁对象、释放资源 )、赋值(operator= ,实现容器间内容拷贝 )。- 迭代器(Iterators):提供 begin/end(正向遍历起始、结束位置 )、rbegin/rend(反向遍历起始、结束位置 ),还有带 c 前缀的 const 版本(cbegin/cend 等,用于只读场景,确保遍历不修改元素 ),是遍历 vector 元素的工具。- 容量(Capacity):包含 size(获取当前元素个数 )、max_size(理论最大可存元素数 )、resize(调整元素个数 )、capacity(获取已分配内存可存元素总数 )、empty(判断是否为空 )、reserve(预分配内存 )、shrink_to_fit(尝试收缩内存到实际元素占用大小 ),用于管理 vector 的内存和元素数量。以上这些是使用 std::vector 进行数据存储、遍历、内存优化等操作的基础接口 。](https://i-blog.csdnimg.cn/direct/bf32c7f056a54645998ba610a0ca2d6b.png)

在这里插入图片描述

以上是是 C++ 标准库中 std::vector 容器的部分成员函数及相关操作说明,涵盖以下类别:

  • 元素访问(Element access):
    • operator[]:通过下标访问元素,不做越界检查 。
    • at:通过下标访问元素,会做越界检查,越界抛 out_of_range 异常 。
    • front:访问第一个元素 。
    • back:访问最后一个元素 。
    • data(C++11 及以上 ):返回指向容器数据起始位置的指针,用于直接操作底层数据 。
  • 修改操作(Modifiers):
    • assign:重新赋值容器内容,可替换现有元素 。
    • push_back:在容器末尾添加元素 。
    • pop_back:删除容器末尾元素 。
    • insert:在指定位置插入元素 。
    • erase:删除指定位置元素 。
    • swap:交换两个 vector 的内容 。
    • clear:清空容器元素 。
    • emplace(C++11 及以上 ):在指定位置直接构造并插入元素,减少拷贝/移动开销 。
    • emplace_back(C++11 及以上 ):在末尾直接构造并插入元素 。
  • 分配器(Allocator):get_allocator:获取容器使用的分配器,用于内存管理相关操作 。
  • 非成员函数重载(Non - member function overloads):
    • relational operators:vector 的关系运算符重载(如 ==、< 等 ),用于比较两个 vector 。
    • swap:非成员函数版 swap,交换两个 vector 内容,可通过 ADL(参数依赖查找 )调用 。

以上这些是 std::vector 常用的操作接口,用于元素访问、增删改、内存与内容管理等场景 。

2. 示例代码如下

#include<iostream>
#include<string>
#include<vector>
using namespace std;void test01()
{vector<int> v1;v1.push_back(1);v1.push_back(2);v1.push_back(3);v1.push_back(4);vector<int>::iterator it = v1.begin();while (it < v1.end()){cout << *it << endl;it++;}cout << endl;vector<int> v2(4, 2);for (auto e : v2){cout << e << " ";}cout << endl;vector<int> v3(v1.begin(), v1.end());for (int i = 0; i < v3.size(); i++){cout << v3[i] << " ";}cout << endl;
}void test02()
{vector<int> v;size_t old = v.capacity();for (int i = 0; i < 110; i++){v.push_back(i);if (old != v.capacity()){cout << v.capacity() << endl;old = v.capacity();}}cout << endl;vector<int> v1 = { 1,2,3,4,5,6,7,8 };v1.insert(v1.begin(), 100);v1.insert(v1.begin() + 2, 66);auto pos = std::find(v1.begin(), v1.end(), 5);if (pos < v1.end()){v1.insert(pos, 77);}for (auto e : v1){cout << e << " ";}cout << endl;v1.erase(v1.begin() + 5);v1.erase(v1.begin() + 3, v1.end());for (auto e : v1){cout << e << " ";}cout << endl;
}int main()
{test01();test02();return 0;
}

3.结果展示

在这里插入图片描述
(注:不同编译器运行结果可能存在差异)

二.emplace_back与遍历(补充)

emplace_back 是 C++ 容器(如 vector)的函数,用于直接在容器尾部构造对象,避免额外的拷贝或移动操作。相比 push_back(需先构造对象再添加到容器),它更高效,尤其适用于构造复杂对象或性能敏感场景。在多数情况下,emplace_back与push_back差别不大。
请看以下代码:

#include<iostream>
#include<vector>
using namespace std;
void test01()
{struct A{A(int a1 = 1, int a2 = 1) : _a1(a1), _a2(a2){}int _a1;int _a2;};A aa1(0,0);vector<A> v;v.push_back(aa1);v.push_back(A(2, 2));v.push_back({ 3,2 });v.emplace_back(aa1);v.emplace_back(A(2,2));//传构造参数效率较高v.emplace_back(3, 2);vector<A>::iterator it = v.begin();while (it < v.end()){cout << it->_a1 << " " << it->_a2;it++;}cout << endl;for (auto& e : v){cout << e._a1 << " " << e._a2;}cout << endl;//C++17标准 结构化绑定auto& [x, y] = aa1;for (auto& [x,y] : v){cout << x<< " " << y;}
}
int main()
{test01();return 0;
}

运行结果如下:
在这里插入图片描述

http://www.dtcms.com/wzjs/81334.html

相关文章:

  • 怎样做网站首页图片变换网上写文章用什么软件
  • 网站页脚优化怎么做海南百度首页广告
  • 潍坊中脉网站建设教育机构退费纠纷找谁
  • 网站怎么做营销策划山东网络推广网站
  • 电子商务网站建设策略站长工具seo综合查询 分析
  • 河南建设168工程网官方网站最近三天的新闻大事
  • 切片工具做网站怎么做推广找客户平台
  • 注册网站需要身份证吗百度商家版下载
  • 外贸人最常用的网站营销模式有哪些 新型
  • 网站需要访客上传图片该怎么做谷歌搜索引擎入口2023
  • 怎么用手机建网站网站搜索查询
  • 做网站的公司盐城上海网络公司seo
  • 安庆网站设计爱网站关键词查询工具长尾
  • 集团公司网站源码下载上海百度推广方案
  • 刚注册公司怎么做网站交换链接适用于哪些网站
  • 重庆可作为推广的网站如何屏蔽百度广告推广
  • 营业执照咨询电话24小时seo工程师是做什么的
  • 网站建设教程怎么建网站搭建的流程
  • 怎么建设销售网站推广链接怎么制作
  • wordpress和ecshop区别搜索引擎广告优化
  • 网站建设费用会计科目优化seo哪家好
  • 微网站特点品牌推广的概念
  • 网站有中文源码加英文怎么做建站系统主要包括
  • 温岭专业自适应网站建设seo简单优化
  • 网站指向错误网站排名怎么做上去
  • wordpress大学主题下载关于进一步优化落实疫情防控措施
  • php网站调试环境搭建手机网页设计
  • 鹤壁做网站湖南网络营销外包
  • 做合成照片的国外网站怎样建网站赚钱
  • 用腾讯云做淘宝客网站视频下载优化关键词具体要怎么做