
周边工具学习笔记
文章平均质量分 61
理论让你不断发现新世界,而创造新世界需要拿好称手的工具。
宛如新生
努力在自动驾驶领域摸爬滚打,怕什么真理无穷,进一寸有一寸的欢喜。
展开
-
c++虚函数和纯虚函数
纯虚函数是在基类中声明的虚函数,它在基类中没有定义,但要求任何派生类都要定义自己的实现方法。抽象类是一种特殊的类,它是为了抽象和设计的目的为建立的,它处于继承层次结构的较上层。(1)抽象类的定义: 称带有纯虚函数的类为抽象类。(2)抽象类的作用: 抽象类的主要作用是将有关的操作作为结果接口组织在一个继承层次结构中,由它来为派生类提供一个公共的根,派生类将具体实现在其基类中作为接口的操作。转载 2023-10-12 11:17:19 · 124 阅读 · 0 评论 -
谈谈inline(内联函数)
inline函数剖析原创 2022-12-11 14:44:14 · 911 阅读 · 0 评论 -
都说一如递归深似海,今日我游出来了
目录1、函数调用模型2、再来看一下递归的简单的示例代码3、递归函数的入栈模型和嵌套调用返回流程非常感谢您的阅读,不清晰的地方还请指教!1、函数调用模型先来分析分析函数的调用模型:void changenum(int *mynum){ *mynum = 300;}int main(){ int num = 10; changenum(&num); printf("%d \n", num);}上述代码,是通过调用一个函数修改了num的值。用内存四区模型画出来如下图:从上原创 2021-12-15 21:45:05 · 625 阅读 · 0 评论 -
git工具学习链接
https://www.liaoxuefeng.com/wiki/896043488029600原创 2021-09-03 15:28:07 · 133 阅读 · 0 评论 -
算法面试题(格灵深瞳)
目录1 智慧星球的武器(100分)2 匹配先验框(这个只得了80分)最近做了格灵深瞳算法题目,这个公司是研究计算机视觉的,算法自然绕不开人工智能的那些图像处理算法。我虽然是学视觉SLAM,但是对图像处理的一些算法不甚了解,做起来有点吃力。这里分享两个比较简单的算法笔试题吧。有想准备这家公司的可以参考一下1 智慧星球的武器(100分)#include <cmath>#include <cstdio>#include <vector>#include <原创 2021-09-01 11:23:11 · 1630 阅读 · 0 评论 -
并发与多线程笔记8
目录1 先看一下以下示例代码,是不是存在一定风险呢?2 条件变量std::condition_variable\wait()\notify_one()3 notify_all()1 先看一下以下示例代码,是不是存在一定风险呢?#include <iostream>#include <vector>#include <thread>#include <mutex>#include <list>using namespace std;原创 2021-08-30 13:43:55 · 203 阅读 · 0 评论 -
并发与多线程笔记7
目录1 设计模式2 单例设计模式3 std::call_once() C++11引入的函数,该函数的第二个参数是一个函数名a()1 设计模式设计模式:代码的一些写法(跟常规写法不一样),程序灵活,维护起来可能方便,但别人接管或者阅读就会很难受。用设计模式理念写出来的代码比较晦涩;应付大型项目时,把项目的开发经验、模块划分经验,总结整理而成。建议:设计模式有着独特的优势,但要活学活用,不要深陷其中,生搬硬套。2 单例设计模式单例设计模式使用频率较高单例:整个项目中,有某个或者某些特殊的类,属于原创 2021-08-27 22:14:06 · 190 阅读 · 0 评论 -
并发与多线程笔记6
目录1 unique_lock()取代lock_guard()1.1 unique_lock()的第二个参数1.2 unique_lock()的成员函数1.3 unique_lock()所有权的传递1 unique_lock()取代lock_guard()上节我们知道了lock_guard()的妙用,它可以帮我们填掉我们容易忘记unlock()的坑。另一方面,这虽然很省我们的力气,但是并不灵活。unique_lock()比lock_guard(),更灵活,但效率差点,内存占用多点。unique_lock原创 2021-08-25 13:30:35 · 215 阅读 · 0 评论 -
并发与多线程笔记5
目录1 互斥量(mutex)的概念2 互斥量(mutex)用法2.1 lock(), unlock()2.2 std::lock_guard类模板3 死锁3.1 std::lock()函数模板3.2 std::lock()和std::lock_guard sbguard()成对使用4 示例代码1 互斥量(mutex)的概念先来说一下目的:保护共享数据,操作时,某个线程用代码把共享数据锁住,其他想操作共享数据的线程必须等待解锁。互斥量就是一个类对象。理解成一把锁,多个线程尝试用lock()成员函数加锁,原创 2021-08-24 16:24:47 · 277 阅读 · 0 评论 -
并发与多线程笔记4
目录1、创建和等待多个线程2、数据共享问题分析3、共享数据的保护案例代码1、创建和等待多个线程#include <iostream>#include <thread>#include <vector>#include <list>using namespace std;// 线程入口函数void myprint(int inum){ //cout << "myprint线程开始执行!线程编号为:" << inum原创 2021-08-23 10:20:09 · 206 阅读 · 0 评论 -
并发与多线程笔记3
目录1 传递临时对象作为线程参数2 传递类对象作为线程参数3 用成员函数指针做线程函数1 传递临时对象作为线程参数#include <iostream>#include <thread>#include <string>using namespace std;void myprint(const int i, const string &pmybuf){ cout << i << endl; // i并不是mavr的引用,原创 2021-08-20 22:28:22 · 188 阅读 · 0 评论 -
并发与多线程笔记2
目录一:范例 线程运行的开始和结束1.1 先写一个最简单的程序:1.2 自己创建线程(子线程)方法:二、其他创建线程的方法2.1 用类可调用对象一:范例 线程运行的开始和结束1.1 先写一个最简单的程序:#include <iostream>//输入输出头文件// 程序运行起来,生成一个进程,该进程所属的主线程自动运行。int main(){ std::cout << "I LOVE CHINA!" << std::endl;//实际上这个是主线程执行。原创 2021-08-18 10:55:19 · 240 阅读 · 0 评论 -
并发与多线程系列笔记1
目录概念性的东西一、基本概念1.1 并发1.2 可执行程序1.3 进程1.4 线程二、并发的实现方法(两个或更多任务同时进行)2.1 多进程并发2.2 多线程并发(单进程中创建多线程)三、c++新标准线程库概念性的东西一、基本概念1.1 并发两个或者更多的任务(独立的活动)同时发生(进行);一个程序同时执行多个独立的任务。以往计算机单核cpu,某一时刻只能执行一个任务,由操作系统调度,每秒钟进行多次任务切换实现并发。这只是并发的假象(不是真正的并发);这种切换(上下文切换)是有时间开销的。原创 2021-08-16 21:04:10 · 325 阅读 · 0 评论