自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 资源 (1)
  • 收藏
  • 关注

原创 PF、RBPF和Gmapping介绍

文章目录PF、RBPF和Gmapping介绍 PF、RBPF和Gmapping介绍 PF、RBPF和Gmapping介绍

2021-09-16 10:54:35 626

原创 总结编写高质量软件的要点

文章目录总结编写高质量软件的要点1、命名规范2、函数 总结编写高质量软件的要点 作为一个初入“码农”行业的菜鸟,花费了近一周的时间阅读了两本有关代码编程技巧的书籍:《重构:改善既有代码的设计》、《代码简洁之道》,并且参加了一个代码规范的培训,这里有些心得,分享给大家。 1、命名规范 为什么先写命名规范呢?因为在代码中存在了大量的标识符、函数名、类名,另外还有一些宏定义的存在,那么一个有意义的命名能够帮助我们快速理解代码。 首先,对命名的几个要点进行总结: 1、名副其实:无论是标识符、函数名、还是类名的命名,

2021-09-09 15:41:03 170

原创 C++并发与多线程(7)-单例设计模式共享数据分析、解决,call_once

文章目录单例设计模式共享数据分析、解决,call_once1、设计者模式大概谈2、单例设计模式3、单例设计模式共享数据分析、解决4、std::call_once() 单例设计模式共享数据分析、解决,call_once 1、设计者模式大概谈 设计模式:代码的一些写法。 (1) 程序灵活,维护起来可能方便,用设计模式理念写出来的代码很晦涩,但是别人接管、阅读代码都会很痛苦。 (2) 老外应付特别大的项目时,把项目的开发经验、模块划分经验,总结整理成设计模式。 (3) 中国零几年设计模式刚开始火时,总喜欢拿一个

2021-09-09 14:10:03 156

原创 C++并发与多线程(6)-unique_lock详解

文章目录unique_lock(类模板)详解1、unique_lock类模板简介 unique_lock(类模板)详解 1、unique_lock类模板简介

2021-09-09 13:59:25 114

原创 C++并发与多线程(5)-互斥锁

文章目录互斥量概念、用法、死锁演示及解决详解1、互斥量(mutex)的基本概念2、互斥量用法3、std::lock_guard()类模板4、死锁4.1、死锁现象4.2、死锁的解决方案5、std::lock()函数模板6、std::lock_guard引入std:adopt_lock参数 互斥量概念、用法、死锁演示及解决详解 1、互斥量(mutex)的基本概念 概念: 互斥量:类对象,理解成一把锁,多个线程尝试用lock()成员函数来加锁,只有一个线程能锁定成功(成功的标志是Lock()函数返回),如果没锁

2020-12-25 15:24:13 420 1

原创 C++并发与多线程(4)-多个子线程创建

文章目录创建多个线程、数据共享、代码案例1、创建和等待多个线程2、数据共享2.1、只读数据2.2、有读有写3、共享数据的保护案例 创建多个线程、数据共享、代码案例 1、创建和等待多个线程 先创建10个线程来看看: #include <iostream> #include <thread> #include <vector> using namespace std; // 线程入口函数 void myprint(int inum) { cout << "

2020-12-25 10:23:29 1293

原创 C++11并发与多线程(3)-detach()大坑

文章目录detach大坑1、传递临时对象作为线程参数1.1、子线程入口函数的参数地址问题1.2、数据类型隐式转换问题2、临时对象作线程参数再分析2.1、线程id概念2.2、使用线程id进行分析3、传递类对象、智能指针为线程参数3.1、地址传递类对象3.2、传递指针指针4、成员函数指针作线程函数5、总结6、参考教程 detach大坑 1、传递临时对象作为线程参数 在上篇文章中,我们简单介绍了使用仿函数构建线程时,不能使用引用、指针等来初始化类,防止在detach()时,主线程把局部变量内存释放,本节来详细介绍

2020-12-24 22:00:25 868

原创 C++11并发与多线程(2)-单个子线程创建

文章目录线程启动、结束,创建线程方法,join,detach1、范例演示:线程的开始和结束1.1、thread1.2、join()1.3、detach()1.4、joinable()2、其他创建线程的方式 线程启动、结束,创建线程方法,join,detach 1、范例演示:线程的开始和结束 1.1、thread 1.2、join() 1.3、detach() 1.4、joinable() 2、其他创建线程的方式 ...

2020-12-23 15:30:49 2089 1

原创 C++11并发与多线程(1)-基本概念

文章目录并发基本概念及实现,进程、线程基本概念1、并发、进程、线程的基本概念1.1、并发的基本概念1.2、可执行程序1.3、进程1.4、线程2、并发的实现方式2.1、多进程并发2.2、多线程并发3、参考教程 并发基本概念及实现,进程、线程基本概念 1、并发、进程、线程的基本概念 1.1、并发的基本概念 1、两个或者更多任务同时进行,一个程序同时执行多个独立的任务; 2、以往计算机单核cpu:某个时刻只能执行一个任务,由操作系统调度每秒钟进行多次所谓的任务切换,并发的假象(不是真正的并发),这种切换(上下文

2020-12-18 16:04:20 116 1

原创 C++回调函数解析

文章目录回调函数1、using的使用1.1、配合命名空间,对命名空间权限进行管理1.2、类型重命名1.3、继承体系中,改变部分接口的继承权限2、std的模板类2.1、类模板说明2.2、模板参数说明2.3、std::function详解2.3.1、普通函数2.3.2、包装模板函数2.3.3、包装lambda表达式2.3.4、包装函数对象2.3.5、包装类静态成员函数2.3.6、包装类对象成员函数3、回调函数的使用参考教程 回调函数 今天读到cartographer中的一个回调函数: using GlobalS

2020-12-17 19:01:53 582 1

原创 Ubuntu18.04安装Cartographer

你好 你好 #include <iostream> using namespace std; int main(int argc, char* argv[]){ return 0; }

2020-12-08 20:51:50 3526 6

OpenCV.zip

OpenCV编译包,适合在Visual Studio上使用,包括64位的opencv-3.4.6和32位的opencv-3.4.1,直接包含include文件即可

2020-06-03

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除