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

C++中memcpy的理解

memcpy 就是 C/C++ 里一个内存块 “搬家” 工具,你可以把它想象成「用胶带把一整排文件从抽屉 A 粘到抽屉 B」的操作。
它的作用是:从一个内存地址(源),把指定字节数的数据,原封不动地复制到另一个内存地址(目标)。
不管内存里存的是什么类型(int/double/ 结构体都可以),它只认 “字节”,是底层的内存拷贝工具。
就像搬家公司只按 “箱子数量” 搬东西,不管箱子里装的是书还是衣服。
函数参数拆解
void* memcpy(void* dest, const void* src, size_t count);
我们用搬家的例子来对应:
dest(目标地址):你要把东西搬到哪个抽屉(内存地址)。
src(源地址):东西原来在哪个抽屉(内存地址)。
count(拷贝字节数):要搬多少个字节(比如搬 6 个double,就是6 * sizeof(double))。
在BAL 代码里:
memcpy(angleaxis + 3, parameters_ + 10 * i + 4, 6 * sizeof(double));
angleaxis + 3 → 目标抽屉:从 angleaxis 数组的第 4 个位置开始放(因为 +3 跳过前 3 个角轴参数)。
parameters_ + 10 * i + 4 → 源抽屉:从第 i 个相机的第 5 个参数开始拿(跳过前 4 个四元数参数)。
6 * sizeof(double) → 搬 6 个 double 类型的字节数(3 个平移 + 3 个内参)。
示例代码

点击查看代码
#include<iostream>#include<cstring>
using namespace std;int main() {//第一步:模拟BAL里的相机参数(四元数模式10维)//定义第0个相机的10维参数:前4个四元数+3个平移+3个内参double camera_10d[10] = {1.0,2.0,3.0,4.0,//前4维:四元数(旋转)5.0,6.0,7.0,//中间3维:平移 tx,ty,tz8.0,9.0,10.0 //后3维:内参f,k1,ke};//第二步:模拟BAL里的angleaxis数组(9维角轴格式)// 先给前3维角轴参数赋值(模拟四元数转角轴的结果)double angleaxis_9d[9] = { 11.0,12.0,13.0 };//后6维暂时是空的,接下来用memcpy填充// 第三步:用memcpy做内存拷贝//目标地址:angleaxis_9d+3 跳过前3个角轴参数,从第4个位置开始填//源地址:camera_10d+4 跳过前4个四元数参数,从第5个位置开始拿//拷贝字节数:6*sizeof(double)->拷贝6个double(3平移+3内参)memcpy(angleaxis_9d + 3, camera_10d + 4, 6 * sizeof(double));//第四步:打印结果:验证拷贝是否成功cout << "拷贝后的9维角轴格式相机参数====" << endl;for (int i = 0; i < 9; i++) {cout << "第" << i + 1 << "个参数:" << angleaxis_9d[i] << endl;}return 0;
}

运行结果
image

http://www.jsqmd.com/news/311697/

相关文章:

  • 实验室注射泵/多通道注射泵/显微注射泵热门品牌盘点与发展趋势分析
  • JeecgBoot v3.9.1,新一代企业级 AI 应用与智能体平台重磅发布
  • VS Code 代码片段:让你的编码效率提升 10 倍
  • 车铣一体机哪家好?口碑与实力俱佳的厂家盘点
  • 高光谱遥感图像异常检测KRX算法Matlab实现
  • 广州旧房改造知名公司怎么选,推荐几家
  • 达梦数据库锁表问题
  • 说说靠谱的数控编程培训学校推荐哪个,潍坊渤海实力强
  • 2026有实力的运动场施工公司推荐,华北地区值得选的品牌
  • 2026年江浙沪防爆高压清洗机批量定制厂家排名,哪家更值得选
  • 新阳光机电科技费用多少,轨道装备价格大揭秘
  • SGMICRO圣邦微 SGM61412AXTN6G/TR SOT23-6 DC-DC电源芯片
  • 2026香薰OEM新趋势,无酒精香薰生产实力厂家集结,香薰扩香器/藤条香氛/喷雾香薰/疗愈香氛,香薰OEM厂家排行榜
  • 服务器“假死”复盘:一个小小的 fs.file-max 如何击垮 JS 反爬系统
  • SGMICRO圣邦微 SGM6601YTN5G/TR SOT23-5 DC-DC电源芯片
  • SGMICRO圣邦微 SGM66052-ADJYUDR6G/TR UTDFN-21.5-6L DC-DC电源芯片
  • Glassdoor全球就业岗位数据库(2008-2023)
  • 百考通:让开题报告成为学术之路的完美起点
  • 百考通:让数据分析从“难题”变“利器”
  • 百考通:AI驱动问卷设计,让调研更高效、更专业
  • 【推广】2026工业废水处理聚丙烯酰胺选型指南:大千环保定制化解决方案测评
  • 准确发力!2026主管护师备考的体系化提分攻略
  • 百考通:双重优化,为你的论文原创性保驾护航
  • 百考通:让文献综述不再是学术路上的“拦路虎”
  • 2026年 MBR膜厂家推荐排行榜:高效分离与长效稳定,专业水处理膜技术供应商深度解析
  • 聊聊GEO优化公司,东莞恒瑞通讯性价比超高
  • 冠洁高压清洗机可信度高吗,港口城市用户满意度排名
  • 新阳光机电科技品牌怎么样,产品适合文旅项目吗,靠谱不?
  • 第一篇 2026主管护师基础知识怎么备考?实操落地指南
  • 2026年山西省有实力的抖音广告代运营公司选哪家,抖音头条信息流广告/微信朋友圈广告,抖音广告代运营公司哪个好