语法知识
记录语法知识
ScaredPan
这个作者很懒,什么都没留下…
展开
-
git使用
git rebaserebase是一个非常强大的指令,可以对你的提交做各种修改。先体验一下我觉得最厉害的的,比如在某一次提交之后,我又提交了好几次,但是我发现我这次提交有问题,想要修改,怎么办了?也就是去修改几次前的提交内容,rebase 可以帮你实现。1.修改中间某一次提交的内容:比如我现在分支上面有两次提交,内容是两个txt文件。现在我再创建一个文件aa.txt,进行第三次交。结果状态如下。我再创建一个文件bb.txt,进行第四次提交,结果如下:这时候我觉得我第三次提交的aa.txt是原创 2021-09-14 14:26:23 · 708 阅读 · 0 评论 -
c++在代码中捕获信号
可执行程序如何安全退出?在Linux系统,按ctrl+c会在系统产生中断信号,程序就会退出。如果你想自己捕捉信号,进行想要的处理,可以如下编码:#include<csignal>#include <stdlib.h>#include <stdio.h>#include <unistd.h>void signalHandler(int signum){ printf("catch signal %d \n", signum); exit(0)原创 2021-09-06 12:21:55 · 1046 阅读 · 0 评论 -
QT报collect2:ld returned 1 exit status原因
原文链接:https://blog.csdn.net/u014546553/article/details/78781547出现collect2:ld returned 1 exit status错误的原因,大概分为以下三种情况:1、编译成功的例子在后台执行,有时一闪而过,如果再次build ,则会提示上述错误。解决方法:打开任务管理器,找到相应的exe进程,关闭即可; 或者直接关闭QtCreator。2、没有编译成功的情况下,最常见情况是程序本身需要include的头文件被遗漏了解决方法:细心转载 2021-08-16 17:09:37 · 6216 阅读 · 0 评论 -
特别简单的c++读取txt数据
网上将c++读取txt的资料很多,但是都是只读取一行的,如何高效的读取txt多行数据呢?c++有类fstream,ifstrem, ofstrem专门用来读取文件。而数据获取有两种方式,一种是 >>流的方式,它会把字符依次放入我们定义的变量里,无需转换什么的,但这种方式的结束必须是遇到结束符才能结束(比如ctrl+D),第二种方式是getline,一行一行读出来的就是字符串,你得把字符串再分开存为自己想要的变量,比较麻烦。我需要从txt里面读两个时间戳,三个double类型数据,在txt里面原创 2021-08-12 15:01:02 · 7238 阅读 · 2 评论 -
容器的内存管理
假设vector有1000个元素,erase900个,其内存占用还是1000个,用clear()只是清空元素,内存占用还是1000。queue可以随着元素的减少,自动释放内存。对于容器释放内存最好的方法是swapvector<int> a;a.push_back(1)vector<int>().swap(a);queue<int> b;b.push(1);queue<int>().swap(a);...原创 2021-07-23 15:57:43 · 183 阅读 · 0 评论 -
torch::tensor与cv::Mat相互转换
cv::Mat是有多维的!!!!!构造函数为: /** @overload @param ndims Array dimensionality. @param sizes Array of integers specifying an n-dimensional array shape. @param type Array type. Use CV_8UC1, ..., CV_64FC4 to create 1-4 channel matrices, or CV_8原创 2021-07-23 10:46:09 · 2429 阅读 · 0 评论 -
对cv::Mat进行容器push_back的理解
cv::Mat 有两种拷贝方式,深拷贝和浅拷贝。直接a=b是浅拷贝,靠.clone()和copyTo()实现深拷贝。那么当我们push_back(cv::Mat)时,是原创 2021-06-21 15:18:28 · 3164 阅读 · 2 评论 -
pytorch函数学习
stack()把两个tensor在新的维度拼接起来, 重新扩展了一个维度。stack就是栈,把一个个tensor变量像进栈一样压在一起。i1.shape = (3,3)i2.shape = (3,3)out = stack(i1, i2, dim=0) 那么our.shape为(2,3,3)out = stack(i1, i2, dim=1) 那么our.shape为(3,2,3) out = stack(i1, i2, dim=2) 那么our.shape为(3,3,2) cat()原创 2021-05-20 10:52:04 · 88 阅读 · 0 评论 -
Git学习总结
master主分支合并dev分支,代码 :git merge dev ,跳出如下界面。输入:wq,(:wq命令是LINUX命令,强制写入文件并结束),可以强制合并。但为什么会跳出该界面,我也没搞清楚。其他合并没有问题。如果有哪位大神知道,请告诉我,谢谢。好,接下来是总结。基本都是照着廖雪峰老师学习的。1.了解Git最重要的是了解两个图。(图来自廖雪峰)图1工作区:就是创建的目录。如图2,在D盘创建一个studygit的目录,我们编辑的文本都放在这个目录下,我们也可以看见它,这就是工作区。 .原创 2021-04-23 10:57:50 · 107 阅读 · 0 评论 -
eigen库的使用
与matlab对比eigen就是一个matrix的模板类。template<typename _Scalar, int _Rows, int _Cols, int _Options, int _MaxRows, int _MaxCols>class Matrix我们一般用前面三个参数,_Scalar即不同的数据类型(int float double complex等),所谓的模板,也就是这个。Vecotor3d = Matrix<double,3,1>MatrixXf原创 2021-03-29 14:36:31 · 1905 阅读 · 0 评论 -
c++成员变量初始化
当成员变量也是一个类对象时,如何初始化?class b{public: b (int i) {m_i=i;}; // class b只有一个带参数的构造函数private: int m_i;};class a{public: a () :m_b(1) // 因为b没有默认构造函数,所以必须在初始化表中初始化 { }; b m_b;};可以在初始化表中初始化...原创 2021-03-26 18:05:17 · 287 阅读 · 0 评论 -
cmake语法
详细1.编译链接 project(vins) #工程名 1. add_executable(vins main.cc vins.cc) #用main.cc vins.cc生成vins可执行文件 aux_source_directory(<dir> <variable>) #更省事的方法是使用 aux_source_directory 命令,该命令会查找指定目录下的所有源文件,然后将结果存进指定变量名 aux_source_directory(. DIR_SRCS)# 指定生原创 2021-01-28 16:39:22 · 165 阅读 · 0 评论