- 博客(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
2020-06-03
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人