c++
文章平均质量分 62
VoladorL
这个作者很懒,什么都没留下…
展开
-
LeetCode 精选算法 200 题个人解题记录(持续更新)
记录leetcode 精选200题原创 2022-11-08 20:57:39 · 611 阅读 · 0 评论 -
c++的sort函数及STL自定义排序规则
cmp比较函数对象(即满足比较 (Compare) 概念的对象),若第一参数小于(即先序于)第二参数则返回 true。语法描述:sort(begin,end,cmp),cmp参数可以没有,如果没有默认非降序排序。cmp参数可以设置为函数、类或者lambda 表达式。通过cmp参数可以自定义排序规则。lambda 表达式。原创 2022-11-08 15:30:16 · 498 阅读 · 0 评论 -
C++求解开根号
一般使用两种方法,二分法和牛顿迭代法一般会让有两种求解结果,一种是求解其整数部分,另一种是求解浮点数并给出精度。原创 2022-11-03 15:37:29 · 6250 阅读 · 0 评论 -
C++基础——深拷贝与浅拷贝的区别
简单的赋值拷贝操作,还是指向同一块内存空间,其中一个改变,因为指向同一块内存另一个对象也随之改变。(只是增加了一个指针指向已存在的内存地址)在堆区重新申请一个空间,进行拷贝操作,两个对象相互独立。(增加了一个指针并且申请了一个新的内存,使这个增加的指针指向这个新的内存)使用深拷贝的情况下,释放内存的时候不会因为出现浅拷贝时释放同一个内存的错误。public:cout原创 2022-11-01 20:15:03 · 375 阅读 · 0 评论 -
C++基础——面向对象的三大特性:封装、继承、多态
封装是面向对象编程中的把数据和操作数据的函数绑定在一起的一个概念,这样能避免受到外界的干扰和误用,从而确保了安全。数据封装引申出了另一个重要的 OOP 概念,即数据隐藏。数据封装是一种把数据和操作数据的函数捆绑在一起的机制,数据抽象是一种仅向用户暴露接口而把具体的实现细节隐藏起来的机制。C++ 通过创建类来支持封装和数据隐藏(public、protected、private)。我们已经知道,类包含私有成员(private)、保护成员(protected)和公有成员(public)成员。原创 2022-10-28 21:32:29 · 471 阅读 · 0 评论 -
个人向学习计划
大概整理了下面试前需要的知识点包括c++开发面试和SLAM算法所需要的知识点,后面我会慢慢补充完整。行情不太好,所以既要准备SLAM算法的也要准备C++开发的。原创 2022-10-26 20:49:44 · 441 阅读 · 0 评论 -
opencv中的浅拷贝和深拷贝
昨天写代码时由于浅拷贝共享内存的原因出了点bug,故记录一下opencv中的浅拷贝和深拷贝opencv中的cv::Mat的复制方式有几种,原创 2022-10-18 11:19:11 · 639 阅读 · 0 评论 -
【c++基础】命名空间污染
命名空间本身就是为了解决在大型项目中,给函数和变量取名出现重复会导致代码冲突的问题。在命名空间出现之前的做法是数的做法是对每个模块的一组函数名加个特定前缀,这样的做法无疑给本来就有取名困难症的程序员们右加以一把火。于是就有了命名空间这个东西, 命名空间是ANSIC++引入的可以由用户命名的作用域,用来处理程序中 常见的同名冲突。但是为什么还会有命名空间污染呢。这个命令的滥用,会导致在代码中在不同命名空间的相同名字的变量或者函数导致代码冲突。比如说我们常用的std这个标准库的命名空间就是这样子来的。原创 2022-10-12 10:56:15 · 1253 阅读 · 0 评论 -
Harris与Shi-Tomasi 角点检测原理
Shi-Tomasi角点是根据Harris改进而来的。所以本文首先介绍Harris的原理。Harris角点检测算法基本思想是使用一个固定窗口在图像上进行任意方向上的滑动,比较滑动前与滑动后窗口中的像素灰度变化程度,如果存在任意方向上的滑动,都有着较大灰度变化,那么我们可以认为该窗口中存在角点。原创 2022-09-05 19:42:49 · 827 阅读 · 0 评论 -
VINS-FUSION代码解读【2】——参数读取和求解器参数设置
上一篇博客将rosNodeTest.cpp这个程序入口的代码进行了简单的解析。挖个坑,关于信息矩阵相关的知识顺便整合一下(更新了会直接放链接)。接下来的是estimator的设置参数,主要是设置求解器的参数。读了这个函数我们就可以更清晰的了解到参数文件每个参数的作用。关于外参可以根据给的代码中的pdf更好地帮助我们去理解。...原创 2022-08-31 22:15:50 · 1053 阅读 · 3 评论 -
VINS-FUSION代码解读【1】——程序入口
vins-fusion不像mono那样有三个node,它只有一个node,在rosNodeTest.cpp里。并且这个文件是整个vins-fusion的程序入口。所以我先从这个文件看起。本人基础不太扎实所以会把代码注释的比较详细,也会适当添加对应知识点的解读。以上就是对rosNodeTest.cpp代码的解读。rosNodeTest.cpp的文件级变量。接下来解析sync_process线程。.........原创 2022-08-30 21:51:21 · 2023 阅读 · 5 评论 -
openeuler21.03及在系统中libtorch使用记录
安装openeuler及配置libtorch环境原创 2022-07-22 19:33:48 · 981 阅读 · 0 评论 -
int main(int argc, char** argv)中的参数的意思
argc 是 argument count的缩写,表示传入main函数的参数个数;argv 是 argument vector的缩写表示传入main函数中的参数列表。在在线工具中执行就可得到说明最后的执行命令为./a.out,通过这两个参数我们可以实现在执行这个程序的时候通过命令行的输入与程序进行交互。...原创 2022-06-09 20:30:44 · 166 阅读 · 0 评论 -
C++中std::string::npos
std::string::npos(1)它是一个常量静态成员值,对于 size_t 类型的元素具有最高可能值。(2)它实际上意味着直到字符串的末尾。(3)它用作字符串成员函数中长度参数的值。(4)作为返回值,它通常用于表示没有匹配项。(5)数据类型为size_t的话string:npos常量被定义为-1,因为size_t是无符号整数类型,-1是该类型的最大可能表示值。使用示例作为没有匹配项的示例#include <iostream>#include <string>原创 2022-05-29 13:33:41 · 6331 阅读 · 0 评论 -
C++中设置常量#define和const的区别
C++中设置常量#define和const的区别简单总结下别人写的小知识比如说在设置常数PI 为3.14的时候,一般我们有两种写法:#defin PI 3.14或者是const double PI 3.14两者的区别(1)就编译器处理方式而言: #define是在编译的预处理阶段起作用,而const是在编译、运行的时候起作用。(2)就起作用的方式而言: #define仅仅是简单的文本替换,没有类型检查。而const有对应的数据类型,是要进行判断的,可以避免一些低级的错误。(3)原创 2022-05-28 16:30:51 · 321 阅读 · 0 评论