![](../../asset/images/user/bgImg_default.jpeg)
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
c++开发中我们会经常用到插入操作对stl的各种容器进行操作,比如vector,map,set等。在引入右值引用,转移构造函数,转移复制运算符之前,通常使用push_back()向容器中加入一个右值元素(临时对象)时,首先会调用构造函数构造这个临时对象,然后需要调用拷贝构造函数将这个临时对象放入容器中。原来的临时变量释放。这样造成的问题就是临时变量申请资源的浪费。引入了右值引用,转移构造函数后..
上一篇 linux 下 alarm(), setitimer 定时器与 POSIX 定时器 timer_settime()对比总结 (上)总结了 alarm 和setitimer定时器的用法和注意事项。alarm不适用于精度要求比较高的场景,而setitimer也有一个缺点:因为setitimer 是配合SIGALRM中断信号使用的,而SIGALRM的中断信号会终止sleep,因为sleep就是用
目录PS:写了markdown 上传,公式都乱码,无果,截图上传吧。1. hector 原理解析1.4 多重分辨率地图2.代码框架2.1 回调函数3. 扫描匹配3.1 多分辨率匹配3.2 matchData_23.5 hession 矩阵H 求解3.6 双线性插值计算得分与梯度4. 地图更新4.1多分辨率地图4.2用激光数据和位姿更新地图4.3 应用分层scan更新地图4.4.
AMCL(adaptive Monte Carlo Localization)自适应蒙特卡洛定位,A也可以理解为augmented,是机器人在二维移动过程中概率定位系统,采用粒子滤波器来跟踪已经知道的地图中机器人位姿,对于大范围的局部定位问题工作良好。对机器人的定位是非常重要的,因为若无法正确定位机器人当前位置,那么基于错误的起始点来进行后面规划的到达目的地的路径必定也是错误的。一. 总结几个概念
ps: 在使用 opencv 3.4.15的时候发现一个lsd算法使用的问题:解决方法:OpenCV各版本的LSD算法由相同的类定义、类声明,因此直接替换以前版本的lsd.cpp,重新编译安装之后便可以使用了。以前的版本是指3.4.6之前的版本。商用请谨慎使用,具体原因。是3.4.6以后LSD 申请了专利,不再符合开源协议要求;参考链接:LineSegmentDetector(LSD)从OpenC
ps: 经过好几天的折腾,终于把这个问题解决了,就差把系统重装了。1 问题描述:1.1 windows10首次安装VMware,或者非首次安装VMware时,安装后,没有出现如下图所示的虚拟网卡:1.2 Xshell或者SecureCRT 或者editplus等工具连接虚拟机下的操作系统时,无论如何都连接不上(即便关闭了宿主机和虚拟机的防火墙也不行)1.3 重装vmwar...
reinterpret_cast 转换通过重新解释底层位模式在类型间转换。语法reinterpret_cast <新类型> (表达式)解释与static_cast不同,但与const_cast类似,reinterpret_cast表达式不会编译成任何 CPU 指令(除非在整数和指针间转换,或在指针表示依赖其类型的不明架构上)。它纯粹是一个编译...
1. 最常规的用法:信号可以是插件自带的,也可以是自己定义的如://新建一个按钮QPushButton * btn = new QPushButton(this);btn->setText("设置");//将信号和槽连接 其中btnclicked()为自定义的槽函数connect(btn, SIGNAL(clicked()), th...
1. apt 方式安装(假设默认安装到/usr/local/include里(可在终端中输入locate eigen3查看位置),若实际中默认安装到了/usr/include的话,可以对应替换下面命令的相应部分)sudo apt install libeigen3-dev//若默认安装的是/usr/local/include/eigen3/Eigen 下,将Eigen文件夹拷贝一份到/u...
在C++11中,标准库在&lt;utility&gt;中提供了一个有用的函数std::move,std::move并不能移动任何东西,它唯一的功能是将一个左值强制转化为右值引用,继而可以通过右值引用使用该值,以用于移动语义。从实现上讲,std::move基本等同于一个类型转换:static_cast&lt;T&amp;&amp;&gt;(lvalue