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

C++ vector 介绍与使用

目录

1.vector是什么?

2.vector的使用

2.1vector的构造函数

2.2vector iterator 的使用

 2.3vector 空间增长问题

2.4vector的增删查改


1.vector是什么?

1. vector是表示可变大小数组的序列容器。
2. 就像数组一样,vector也 采用连续的存储空间来存储元素 。也就是意味着可以采用下标对vector的元素 进行访问,和数组一样高效。但是又不像数组, 它的大小是可以动态改变的,而且它的大小会被容器自动处理
3. 本质讲,vector使用动态分配数组来存储它的元素。当新元素插入时候,这个数组需要被重新分配大小为了增加存储空间。其做法是,分配一个新的数组,然后将全部元素移到这个数组。就时间而言,这是一个相对代价高的任务,因为每当一个新的元素加入到容器的时候,vector并不会每次都重新分配大小。
4. vector分配空间策略:vector会分配一些额外的空间以适应可能的增长,因为存储空间比实际需要的存储空间更大。不同的库采用不同的策略权衡空间的使用和重新分配。但是无论如何,重新分配都应该是对数增长的间隔大小,以至于在末尾插入一个元素的时候是在常数时间的复杂度完成的。
5. 因此,vector占用了更多的存储空间,为了获得管理存储空间的能力,并且以一种有效的方式动态增长。
6. 与其它动态序列容器相比(deque, list and forward_list),vector在访问元素的时候更加高效,在末尾添加和删除元素相对高效。对于其它不在末尾的删除和插入操作,效率更低。比起list和forward_list统一的迭代器和引用更好。
7.vector是 C++ 标准模板库(STL)里的一个类模板,借助模板参数能够生成不同类型的类。

oid test_vector1()
{vector<string> v;string name1("张三");v.push_back(name1);v.push_back(string("张三"));//匿名对象v.push_back("张三");//在 C++ 中,单参数的构造函数默认支持隐式类型转换。vector<vector<int>> vv;//相当于二维数组
}

2.vector的使用

vector学习时一定要学会查看文档:这是vector文档的链接  https://cplusplus.com/reference/vector/vector/https://cplusplus.com/reference/vector/vector/

下面是对vector重要接口的介绍。

2.1vector的构造函数

构造函数声明
接口说明
vector()
无参构造
vector size_type n, const value_type& val = value_type()
构造并初始化 n val
vector (const vector& x)
拷贝构造
vector (InputIterator first, InputIterator last)
使用迭代器区间初始化
int TestVector2()
{vector<int> first;                                // 空参构造vector<int> second(4, 100);                       // 初始化4个100vector<int> third(second.begin(), second.end());  // 迭代器区间初始化vector<int> fourth(third);                       // 拷贝构造// 利用迭代器区间初始化不仅仅可以用vector的迭代区间也可以用其他容器的迭代器区间int myints[] = { 16,2,77,29 };vector<int> fifth(myints, myints + sizeof(myints) / sizeof(int));string str("hello world");vector<char> sixth(str.begin(), str.end());return 0;
}

2.2vector iterator 的使用

iterator 的使用
接口说明
begin+end
获取第一个数据位置的迭代器 , 获取最后一个数据的下一个位置
的迭代器
rbegin + rend
获取最后一个数据位置的迭代器 ,获取第一个数据前一个位置的迭代器

有了迭代器就可以和C++库里面实现的一些算法结合在一起进行使用了 。

 

例如C++库里实现的sort和find算法,所传参数都是迭代器的区间。

#include<algorithm>
#include<vector>
using namespace std;
int main()
{int a[] = { 16,2,77,29 };vector<int> v5(a, a+4);//默认降序  >sort(v5.begin(),v5.end());//升序  <sort(v5.begin(), v5.end(), greater<int>());//greater<int>匿名对象比较器 int a1[] = { 16,2,77,29,3,33,43,2 };vector<int> v1(a1, a1 + sizeof(a)/sizeof(int));//删除其中的3vector<int>::iterator pos=find(v1.begin(),v1.end(),3);if(pos != v1.end()){v1.erase(pos);}return 0;
}

 2.3vector 空间增长问题

容量空间
接口说明
size
获取数据个数
capacity
获取容量大小
empty
判断是否为空
resize
改变 vector size
reserve
改变 vector capacity
void TestVector3()
{v1.reserve(10);for (size_t i = 0; i < 10; i++){v1[i] = i;}//上述的代码是典型的错误,以为预留好了空间就可以直接访问,这是错误的。//reserve预留空间的目的是为了减少扩容,并不会修改size,上面相等于越界访问。//正确应该是这样写v1.reserve(10);for (size_t i = 0; i < 10; i++){v1.push_back(i);}//或者v1.resize(10);for (size_t i = 0; i < 10; i++){v1[i] = i;}}

2.4vector的增删查改

vector 增删查改
接口说明
push_back
尾插。
pop_back
尾删。
find
查找。(注意这个是算法模块实现,不是 vector 的成员接口)
insert
position 之前插入 val。
erase
删除 position 位置的数据。
swap
交换两个 vector 的数据空间。(vector的成员函数中有swap)
operator[] 
像数组一样访问
void test_vector5()
{int a[] = { 16,2,77,29,3,33,43,3,2,3,3,2 };vector<int> v1(a, a + sizeof(a)/sizeof(int));for (auto e : v1){cout << e << " ";}cout << endl;// 头删v1.erase(v1.begin());for (auto e : v1){cout << e << " ";}cout << endl;// 头插 v1.insert(v1.begin(), 100);for (auto e : v1){cout << e << " ";}cout << endl;// 删除第3个数据v1.erase(v1.begin()+2);for (auto e : v1){cout << e << " ";}cout << endl;// 删除3,但是不知道3在哪个位置,怎么办?//vector<int>::iterator pos = find(v1.begin(), v1.end(), 3);auto pos = find(v1.begin(), v1.end(), 3);/*if (pos != v1.end()){v1.erase(pos);}*/// 删除所有的3 -- 涉及迭代器失效!while(pos != v1.end()){v1.erase(pos);//pos = find(pos+1, v1.end(), 3); 这是错的,迭代器会失效pos = find(v1.begin(), v1.end(), 3);}for (auto e : v1){cout << e << " ";}cout << endl;//assign(size_type count, const T& value)//将 vector 中的元素替换为 count 个值为 value 的元素。v1.assign(10, 1);for (auto e : v1){cout << e << " ";}cout << endl;
}

相关文章:

C++ vector 介绍与使用

目录 1.vector是什么&#xff1f; 2.vector的使用 2.1vector的构造函数 2.2vector iterator 的使用 2.3vector 空间增长问题 2.4vector的增删查改 1.vector是什么&#xff1f; 1. vector是表示可变大小数组的序列容器。 2. 就像数组一样&#xff0c;vector也 采用连续的存储…...

可以下载blender/fbx格式模型网站

glbxz.com glbxz.com可以下载blender/fbx格式模型。当然里面有免费的...

Vi/Vim 编辑器详细指南

Vi/Vim 编辑器详细指南 简介一、模式详解1. 命令模式(Normal Mode)2. 插入模式(Insert Mode)3. 可视模式(Visual Mode)4. 命令行模式(Ex Mode)二、核心操作1. 保存与退出2. 导航与移动3. 编辑与文本操作4. 搜索与替换三、高级技巧1. 多文件与窗口操作2. 宏录制3. 寄存器…...

LeetCode 热题 100 22. 括号生成

LeetCode 热题 100 | 22. 括号生成 大家好&#xff0c;今天我们来解决一道经典的算法题——括号生成。这道题在 LeetCode 上被标记为中等难度&#xff0c;要求生成所有可能的并且有效的括号组合。这是一道非常经典的回溯法题目&#xff0c;非常适合用来练习递归和回溯的技巧。…...

UE5 MetaHuman眼睛变黑

第5个材质MI_EyeOcclusion_Inst修改成透明即可...

【C语言】--指针超详解(一)

目录 一.内存和地址 1.1--内存 1.2--如何理解编址 二.指针变量和地址 2.1--取地址操作符(&) 2.2--指针变量和解引用操作符(*) 2.2.1--指针变量 2.2.2--如何理解指针类型 2.2.3--解引用操作符 2.3--指针变量的大小 三.指针变量类型的意义 3.1--从指针的解引用方…...

高频工业RFID读写器-三格电子

高频工业RFID读写器 型号&#xff1a;SG-HF40-485、SG-HF40-TCP 产品功能 高频工业读写器&#xff08;RFID&#xff09;产品用在自动化生产线,自动化分拣系统,零部件组装产线等情境下&#xff0c;在自动化节点的工位上部署RFID读写设备&#xff0c;通过与制品的交互&#xf…...

驱动开发系列57 - Linux Graphics QXL显卡驱动代码分析(四)显示区域绘制

一&#xff1a;概述 前面在介绍了显示模式设置&#xff08;分辨率&#xff0c;刷新率&#xff09;之后&#xff0c;本文继续分析下&#xff0c;显示区域的绘制&#xff0c;详细看看虚拟机的画面是如何由QXL显卡绘制出来的。 二&#xff1a;相关数据结构介绍 struct qxl_moni…...

6.5 行业特定应用:金融、医疗、制造等行业的定制化解决方案

金融、医疗和制造行业作为全球经济支柱&#xff0c;面临数据复杂性、实时性需求和严格合规性的共同挑战&#xff0c;同时各行业因业务特性衍生出独特需求。金融行业需应对市场波动、欺诈风险和多国法规&#xff0c;医疗行业聚焦精准诊断和患者数据隐私&#xff0c;制造业则强调…...

【Linux我做主】深入探讨从冯诺依曼体系到进程

从冯诺依曼体系到进程 从冯诺依曼体系到进程github地址1. 前言2. 计算机硬件2.1 冯诺依曼体系结构2.2 冯诺依曼模型的三大要点2.3 从QQ聊天认识&#xff1a;冯诺依曼体系下数据是如何流动的&#xff1f;发送方数据流动接收方数据流动 3. 计算机软件的根基——操作系统3.1 操作系…...

idea更换jdk版本操作

有时候我们有更换jdk版本的问题&#xff0c;自己电脑可能有多个版本&#xff0c;下面来介绍修改jdk版本修改修改什么地方 1 2 3 4 5 6 再修改pom即可&#xff0c;还有环境变量即可&#xff0c;希望有帮到大家&#xff01;...

npm install下载插件无法更新package.json和package-lock.json文件的解决办法

经过多番查证&#xff0c;使用npm config ls查看相关配置等方式&#xff0c;最后发现全局的.npmrc文件的配置多写了globaltrue&#xff0c;去掉就好了 如果参数很多&#xff0c;不知道是哪个参数引起的&#xff0c;先只保留registryhttp://xxx/&#xff0c;试试下载&#xff0…...

机器学习实操 第二部分 神经网路和深度学习 第13章 使用TensorFlow加载和预处理数据

机器学习实操 第二部分 神经网路和深度学习 第13章 使用TensorFlow加载和预处理数据 内容概要 第13章深入探讨了如何使用TensorFlow加载和预处理数据。本章首先介绍了tf.data API&#xff0c;它能够高效地加载和预处理大规模数据集&#xff0c;支持并行文件读取、数据打乱、批…...

WebSoket的简单使用

一、WebSocket简介 1.1、双向通信/全双工 客户端和服务器之间同时双向传输&#xff0c;全双工通信允许客户端和服务器随时互相发送消息&#xff0c;不需等一方发送请求后另一方才进行响应。 适用要低延迟/实时交互的场景&#xff0c;如在线游戏、即时通讯、股票行情等。 1.2…...

01_线性表

一、线性表的顺序存储 逻辑上相邻的数据元素&#xff0c;物理次序也相邻。占用连续存储空间&#xff0c;用“数组”实现&#xff0c;知道初始位置就可推出其他位置。 00_宏定义 // 函数结果状态代码 #define TRUE 1 #define FALSE 0 #define OK 1 #define ERROR 0 #defin…...

STL详解 - map和set

目录 一、关联式容器概述 二、键值对 三、树形结构的关联式容器 &#xff08;一&#xff09;set 1. set的介绍 2. set的使用 &#xff08;1&#xff09;模板参数列表 &#xff08;2&#xff09;构造函数 &#xff08;3&#xff09;迭代器函数 &#xff08;4&#xff…...

SpringBoot 集成滑块验证码AJ-Captcha行为验证码 Redis分布式 接口限流 防爬虫

介绍 滑块验证码比传统的字符验证码更加直观和用户友好&#xff0c;能够很好防止爬虫获取数据。 AJ-Captcha行为验证码&#xff0c;包含滑动拼图、文字点选两种方式&#xff0c;UI支持弹出和嵌入两种方式。后端提供Java实现&#xff0c;前端提供了php、angular、html、vue、u…...

高并发PHP部署演进:从虚拟机到K8S的DevOps实践优化

一、虚拟机环境下的部署演进 1. 低并发场景&#xff08;QPS<10&#xff09;的简单模式 # 典型部署脚本示例 ssh userproduction "cd /var/www && git pull origin master" 技术痛点&#xff1a; 文件替换期间导致Nginx返回502错误&#xff08;统计显示…...

vue引入物理引擎matter.js

vue引入物理引擎matter.js 在 Vue 项目中集成 Matter.js 物理引擎的步骤如下: 1. 安装 Matter.js npm install matter-js # 或 yarn add matter-js2. 创建 Vue 组件 <template><div ref="physicsContainer" class="physics-container"><…...

【实战项目】简易版的 QQ 音乐:一

> 作者&#xff1a;დ旧言~ > 座右铭&#xff1a;松树千年终是朽&#xff0c;槿花一日自为荣。 > 目标&#xff1a;能自我实现简易版的 QQ 音乐。 > 毒鸡汤&#xff1a;有些事情&#xff0c;总是不明白&#xff0c;所以我不会坚持。早安! > 专栏选自&#xff1a…...

部署Superset BI(三)连接HANA数据库

metabase和redash都不支持HANA数据库&#xff0c;选择superset就是看重这一点&#xff0c;开始尝试连接HANA数据库。 按Superset的技术文档&#xff1a;pip install hdbcli sqlalchemy-hana or pip install apache-superset[hana] --进入容器 rootNocobase:/usr/superset/supe…...

快速学会Linux的WEB服务

一.用户常用关于WEB的信息 什么是WWW www是world wide web的缩写&#xff0c;及万维网&#xff0c;也就是全球信息广播的意思 通常说的上网就是使用www来查询用户所需要的信息。 www可以结合文字、图形、影像以及声音等多媒体&#xff0c;超链接的方式将信息以Internet传递到世…...

如何搭建spark yarn模式集群的集群

以下是搭建 Spark YARN 模式集群的一般步骤&#xff1a; 准备工作 确保集群中各节点已安装并配置好 Java 环境&#xff0c;且版本符合 Spark 要求。规划好集群中节点的角色&#xff0c;如 Master 节点、Worker 节点等&#xff0c;并确保各节点之间网络畅通&#xff0c;能相互…...

端口安全基本配置

1.top图 2.交换机配置 交换机swa <SWA> system-view [SWA] vlan batch 10 20[SWA] interface GigabitEthernet0/0/1 [SWA-GigabitEthernet0/0/1] port link-type trunk [SWA-GigabitEthernet0/0/1] port trunk allow-pass vlan 10[SWA] interface GigabitEthernet0/0/2 …...

【JsonCpp、Muduo、C++11】JsonCpp库、Muduo库、C++11异步操作

JsonCpp库、Muduo库、C11异步操作 1. JsonCpp库1.1 Json数据格式1.2 JsonCpp介绍1.3 JsonCpp使用 2. Muduo库2.1 Muduo库常见接口介绍2.1.1 TcpServer类基础介绍2.1.2 EventLoop类基础介绍2.1.3 TcpConnection类基础介绍2.1.4 Buffer类基础介绍2.1.5 TcpClient类基础介绍 2.2 M…...

【自然语言处理与大模型】LlamaIndex的词嵌入模型和向量数据库

&#xff08;1&#xff09;嵌入模型的定义和作用 嵌入模型&#xff08;Embedding Model&#xff09;的本质在于将高维的、稀疏的数据转换为低维的、密集的向量表示&#xff0c;使得这些向量能够在数学空间中表达原始数据的语义信息。作用如下&#xff1a; 降维表示&#xff1a;…...

SLAM算法工程师面经大全:2025年面试真题解析与实战指南

SLAM算法工程师面经大全&#xff1a;2025年面试真题解析与实战指南 一、SLAM技术概述与核心原理 1&#xff0e;SLAM基础理论框架 SLAM算法的核心在于同步定位与建图&#xff0c;这一过程涉及传感器数据融合、运动建模与优化方法。在传感器数据融合方面&#xff0c;不同类型的…...

虚拟现实视频播放器 2.6.1 | 支持多种VR格式,提供沉浸式观看体验的媒体播放器

虚拟现实媒体播放器是一款专为在智能手机上播放VR&#xff08;虚拟现实&#xff09;照片和视频而设计的应用程序。它支持多种格式的影像内容&#xff0c;包括360和180等距矩形柱面、标准镜头和鱼眼镜头拍摄的照片和视频&#xff0c;并且兼容3D立体并排、上/下以及收缩媒体格式。…...

从黔西游船侧翻事件看极端天气预警的科技防线——疾风气象大模型如何实现精准防御?

近日,贵州省黔西市一起载人游船侧翻事故令人痛心。调查显示,事发时当地突遇强风暴雨,水面突发巨浪导致船只失控。这一事件再次凸显:在极端天气频发的时代,传统“经验式防灾”已不足够,唯有依靠智能化的气象预警技术,才能筑牢安全底线。 极端天气预警的痛点:为什么传统方…...

颠覆监测体验!WM102无线温湿度记录仪开启智能物联新时代

当温湿度失控成为企业隐形成本杀手&#xff0c;您是否还在用传统设备疲于应对&#xff1f;一款集智能、精准、全能于一身的神器横空出世——WM102无线温湿度记录仪&#xff0c;用硬核科技重新定义环境监测&#xff01; ▌5大场景痛点 一招破解 无论是医药冷库里的疫苗守护战&am…...

Linux云服务器配置git开发环境

文章目录 1. 安装 git2. git clone3. git add .4. git commit -m 提交记录5. git push&#x1f351; 异常原因&#x1f351; 解决办法 6. git pull7. git log8. git rm9. git mv10. git status 1. 安装 git sudo yum install git -y2. git clone 此命令的作用是从远程仓库把代…...

山东大学软件学院项目实训-基于大模型的模拟面试系统-个人主页头像上传

采用图床的方案&#xff0c;存储用户头像。 实现步骤 引入OSS依赖 在我们的SpringBoot项目中引入OSS依赖 <dependency><groupId>com.aliyun.oss</groupId><artifactId>aliyun-sdk-oss</artifactId><version>3.10.2</version> &l…...

AI智能体|扣子(Coze)实战【天气查询插件开发教程】

大家好&#xff0c;我是偶然&#xff0c;AI洞察&#xff0c;AI智能体&#xff0c;AI实战案例分享 今天教大家用 Coze 开发一个天气插件&#xff0c;本来我是想教大家怎么用 AI 写代码节点实现节点功能的&#xff0c;但是我感觉太复杂了。 起码来说&#xff0c;我还没做到用特别…...

VBA ListBox/ComboBox 响应鼠标滚轮操作

一般情况下&#xff0c;在Excel的vba窗口中&#xff0c;我们是无法使用鼠标滚轮控制例如 ListBox 和 ComboBox 控件的。我们只能通过鼠标点击的方式来逐个选择选项。 我们都知道&#xff0c;通过鼠标滚轮快速的上下滚动候选项&#xff0c;以快速的定位选择选项&#xff0c;这是…...

Linux 更改内存交换 swap 为 zram 压缩,减小磁盘写入

1、查看当前 swap 的方式 swapon --show 我这里是默认的 swap 文件&#xff0c;大小为 2G。 2、安装 zram Ubuntu 下&#xff1a; sudo apt install zram-tools安装后默认会启动&#xff1a; 3、关闭默认的 swap 文件 sudo swapoff /swapfile 其次是关闭 /etc/fstab 中的 …...

TypeScript简介

&#x1f31f; TypeScript入门 TypeScript 是 JavaScript 的超集&#xff0c;由微软开发并维护&#xff0c;通过静态类型检查和现代语言特性&#xff0c;让大型应用开发变得更加可靠和高效。 // 一个简单的 TypeScript 示例 interface User {name: string;age: number;greet():…...

Facebook如何运用AI实现元宇宙的无限可能?

引言 元宇宙&#xff08;Metaverse&#xff09;是一个虚拟的、由多个 3D 虚拟世界组成的网络&#xff0c;用户可以在其中进行互动、游戏、工作和社交。Facebook 作为全球最大的社交媒体平台之一&#xff0c;对元宇宙的构建和实现有着深远的影响。通过运用人工智能&#xff08;…...

【大语言模型ChatGPT+Python】近红外光谱数据分析及机器学习与深度学习建模(近红外光谱数据分析、定性/定量分析模型代码自动生成等)

近红外光谱数据分析是一种重要的分析技术&#xff0c;广泛应用于化学、食品、制药、农业、环境科学等领域。以下是关于近红外光谱数据分析的详细介绍&#xff1a; 一、基本原理 近红外光谱的范围 近红外光谱是指波长范围在780 - 2500纳米的电磁辐射。在这个波段&#xff0c;分子…...

ArcGIS Pro图斑属性自动联动更新-在线卫星底图图斑采集

今天介绍一下在ArcGIS Pro图斑属性自动联动更新 主要介绍内容&#xff1a; 1、ArcGIS Pro数据设计中属性规则的设置&#xff0c;实现图斑属性的自动更新与联动更新。 2、介绍ArcGIS Pro不能新建要素类图层的原因 3、包括新建字段等内容 4、deepseek查询arcade计算图斑面积语…...

OpenHarmony GPIO应用开发-LED

学习于&#xff1a; https://docs.openharmony.cn/pages/v5.0/zh-cn/device-dev/driver/driver-platform-gpio-develop.md https://docs.openharmony.cn/pages/v5.0/zh-cn/device-dev/driver/driver-platform-gpio-des.md 通过OpenHarmony官方文档指导可获知&#xff1a;芯片厂…...

C语言结构体内存对齐使用场景

#pragma pack(push, 1) 和 #pragma pack(pop) 的使用场景&#xff08;C语言&#xff09; 这两个预处理指令用于控制结构体成员的内存对齐方式&#xff0c;主要在以下场景中使用&#xff1a; 主要使用场景 网络通信协议处理 当需要精确控制结构体布局以匹配网络协议格式时 确…...

极速轻量,Rust 网络开发新选择:Hyperlane 框架深度解析

极速轻量&#xff0c;Rust 网络开发新选择&#xff1a;Hyperlane 框架深度解析 在高性能网络服务开发领域&#xff0c;Rust 凭借其内存安全与高效并发的特性备受青睐。今天&#xff0c;我们迎来一款专为现代 Web 服务打造的明星框架——Hyperlane&#xff0c;它以“轻量高效、…...

从零开始学习人工智能(Python高级教程)Day6-Python3 正则表达式

一、Python3 正则表达式 正则表达式是一个特殊的字符序列&#xff0c;它能帮助你方便的检查一个字符串是否与某种模式匹配。 在 Python 中&#xff0c;使用 re 模块来处理正则表达式。 re 模块提供了一组函数&#xff0c;允许你在字符串中进行模式匹配、搜索和替换操作。 r…...

UKCC(原OUCC)真题讲解(一)

题目链接&#xff1a;PRACTICE - 2025 Coding Challenge - UK Bebras 1.GreenStar 方法&#xff1a;使用模块 参考答案&#xff1a; 【知识点】 这里的长度100&#xff0c;是指中心到角的距离。 2.Draw a Square 参考答案&#xff1a; 【知识点】 在正多边形的图案中&#…...

Linux——特殊权限管理

Linux中的特殊权限&#xff08;setuid、setgid、sticky bit&#xff09;扩展了基本的文件权限机制&#xff0c;提供了更精细的控制。以下是详细说明&#xff1a; 1. SetUID&#xff08;SUID&#xff09; 作用&#xff1a;允许用户以文件所有者的权限执行文件。 例如&#xff1a…...

Ubuntu18.04搭建samda服务器

一.什么是Samba服务器&#xff1f; Samba服务器是一种基于开源协议实现的网络共享服务软件&#xff0c;主要用于在不同操作系统&#xff08;如Windows、Linux、Unix&#xff09;之间实现文件和打印机共享功能。其核心目标是解决跨平台资源共享的兼容性问题&#xff0c;尤其是在…...

vue3搭建后台管理系统

找menu菜单 上部用height设置高度和背景颜色 需要自己改左侧栏的边线 将el-menu的border设置为0,然后上方设置border-right设置边框 设置右边 创建data.vue input组件 导入icon图标 引入import 一个template 设置个card el-card 定义card 加el-button查询 el-table表单 …...

[学习]RTKLib详解:pntpos.c与postpos.c

文章目录 RTKLib详解&#xff1a;pntpos.c与postpos.cPart A: pntpos.c一、概述二、整体工作流程三、主要函数说明1. pntpos()2. satposs()3. estpos()4. rescode()5. prange()6. ionocorr()7. tropcorr()8. valsol()9. raim_fde()10. estvel() 四、函数调用关系图&#xff08;…...

64.微服务保姆教程 (七) RocketMQ--分布式消息中间件

RocketMQ–分布式消息中间件 一、MQ 1、什么是MQ MQ(Message Queue)消息队列,是基础数据结构中“先进先出”的一种数据结构。指把要传输的数据(消息)放在队列中,用队列机制来实现消息传递——生产者产生消息并把消息放入队列,然后由消费者去处理。消费者可以到指定队…...

邀约媒体,邀请到场 多少钱?

传媒如春雨&#xff0c;润物细无声&#xff0c;大家好&#xff0c;我是51媒体胡老师。 在策划线下活动时&#xff0c;媒体邀约是提升品牌曝光度和影响力的重要环节。不同类型和规模的媒体邀约&#xff0c;其预算需求也各不相同。以下为各类媒体邀约的费用概览及影响因素&#…...