C++
文章平均质量分 97
Mr.Silver
~
展开
-
time.h的简单使用
仅作为自己的笔记,悼念机试沉重的时刻#include <iostream>#include <time.h>using namespace std;int main(){ struct tm *ptr; time_t lt; lt = time(0);//获取当前时间戳 默认起始日期均为1900 月份0-11 //lt = (time_t)28800;//自定义秒数 cout << lt << endl; ptr = localti原创 2020-08-08 18:03:07 · 642 阅读 · 0 评论 -
一步步带你看懂orbslam2源码--单目初始化(五)
回顾: 前面我们已经讲解了orbslam2中的理论环节,包括了RANSAC随机采样一致性算法,阈值的选择缘由,对极约束的原理,单应矩阵和基础矩阵的计算,如何从单应矩阵或基础矩阵中分解出R,t,单目初始化单应矩阵或基础矩阵选择策略等.本章节我们将主要进行单目初始化的理论环节,话不多说,接下来就直接进入正题.理论环节 先贴上Track()函数的整体框架代码,首先第一次执行时,mSta...原创 2019-11-14 23:09:11 · 2256 阅读 · 4 评论 -
一步步带你看懂orbslam2源码--单应矩阵/基础矩阵,求解R,t(四)
回顾: 上一节我们主要讲解了对极约束的原理以及F矩阵的求解,单应矩阵的原理以及单应矩阵的求解,RANSAC随机采样一致性算法,阈值选择原理,score计算方式,模型选择策略,并且对创建Frame剩余的部分源码进行补充说明.本章节主要将讲解如何从单应矩阵和基础矩阵中分解出相机位姿和三维空间点坐标,这一部分东北大学的吴博在"ORB-SLAM代码详细解读"PPT中已经进行了详细推导,笔者这次的...原创 2019-11-14 23:03:23 · 5127 阅读 · 9 评论 -
一步步带你看懂orbslam2源码--单目初始化(三)
回顾: 好久没更新啦,耽搁了这么久,实在是最近事情有点多,一直抽不出时间来写,趁着空闲之际,赶紧更新一波.上一节我们主要讲解了关于ORB特征点的原理以及源码中的实现,想必读完上节,大家应该对什么是ORB,怎么提取Oriented FAST关键点,怎么计算despritor以及如何进行四叉树存储,筛选高质量特征点,保证特征点提取的均匀性. 接下来,有了图片的特征点信息之后,我们将正式进...原创 2019-11-14 23:01:47 · 4249 阅读 · 6 评论 -
leetCode--字符串转换整数 (atoi)
题目:答案(c++):直接用库class Solution {public: int myAtoi(string str) { int flag = 0; for (char a : str) { if (a == ' ') flag++; } if (flag == str.size()) return 0; stringstream ss; i...原创 2019-04-25 10:33:01 · 146 阅读 · 0 评论 -
【转】C++类中的static数据成员,static成员函数
C++类中谈到static,我们可以在类中定义static成员,static成员函数!C++primer里面讲过:static成员它不像普通的数据成员,static数据成员独立于该类的任意对象而存在,每个static数据成员是与类关联的对象,并不与该类的对象相关联!这句话可能比较拗口,其实可以这么理解:每个stat...转载 2019-05-19 16:38:55 · 1090 阅读 · 0 评论 -
leetCode--回文数
题目:我的答案(c++):class Solution {public: bool isPalindrome(int x) { vector<int> num; int a = x; if (x < 0) return false; while (a!=0) { num.push_back(a%10); a /= 10; } in...原创 2019-05-07 17:09:34 · 140 阅读 · 0 评论 -
C++计时的两种方式
#include< ctime >using namespace std;clock_t time_start=clock();//...clock_t time_end=clock();cout<<"time use:"<<1000*(time_end-time_start)/(double)CLOCKS_PER_SEC<<"ms"<...原创 2019-05-22 10:02:24 · 12229 阅读 · 0 评论 -
【转】C++静态成员变量和静态成员函数详解
原链接:http://c.biancheng.net/view/165.html类的静态成员有两种:静态成员变量和静态成员函数。静态成员变量就是在定义时前面加了 static 关键字的成员变量;静态成员函数就是在声明时前面加了 static 关键字的成员函数。下面的 CRectangle 类就有两个静态成员变量和一个静态成员函数。class CRectangle{private: ...转载 2019-06-17 19:23:20 · 421 阅读 · 0 评论 -
在ubuntu16.04下利用cmake+VC code,断点调试
一、更新cmake版本(貌似在vs code插件中安装后,右下角会跳出是否升级为3.13.2)查询cmake版本$ cmake --version如果不是最新版3.9.1则更新如下:(1)下载压缩包:$ wget https://cmake.org/files/v3.9/cmake-3.9.1-Linux-x86_64.tar.gz(2)解压压缩包:$ tar zxvf cmak...原创 2019-07-10 22:33:09 · 1170 阅读 · 0 评论 -
ubuntu16.04下的boost库和viz模块安装问题
一、下载boost库下载链接: https://www.boost.org/users/history/version_1_70_0.html选择版本(unix boost_1_70_0.tar.gz):二、安装boost库(1)进行解压,我是利用解压工具直接右键提取到此处的,或者利用命令行输入也是可以的:$ tar -xf Boost_1_65_1.tar.bz2(2)进入到解...原创 2019-07-12 13:15:59 · 2322 阅读 · 0 评论 -
pangolin库的简单使用
原文: https://www.jianshu.com/p/3baff8a66927pangolin是OpenGL的轻量级封装代码解释均在注释之中#include <pangolin/pangolin.h>int main( int /*argc*/, char** /*argv*/ ){ pangolin::CreateWindowAndBind("Main",...转载 2019-09-08 19:54:25 · 1482 阅读 · 0 评论 -
int类型究竟占几个字节(转)
我最近也在看深入理解计算机系统这本书,上面提到了在32位机器和64机器中int类型都占用4个字节。后来,别人查了The C Programming language这本书,里面有一句话是这样的:Each compiler is free to choose appropriate sizes for its own hardware, subject only to the restrictio...转载 2019-09-13 11:33:53 · 6135 阅读 · 0 评论 -
vector向量中resize和reserve的区别
测试代码如下,并在下文将给出6条测试结论:#include <vector>#include <iostream>using namespace std;int main(int argc, char* argv[]){ vector<int> vect; vect.push_back(1); vect.push_b...原创 2019-09-13 16:55:48 · 438 阅读 · 0 评论 -
【转】Eigen库大全
好东西,先保存下来https://www.cnblogs.com/goingupeveryday/p/5699053.html转载 2019-04-24 21:25:51 · 175 阅读 · 0 评论 -
leetCode--最长回文子串
题目:官方答案(C++):class Solution {private: int expandAroundCenter(string s, int left, int right) { while (left >= 0 && right < s.size() && s[left] == s[right]) { left--;...原创 2019-04-19 17:04:20 · 124 阅读 · 0 评论 -
C++函数模板和类模板
#include <iostream>using namespace std;template<typename T0>class c_Example{private: ostream &_os;//此处的&非常重要public: template<typename T> void swap(T& a, T& ...原创 2019-04-05 23:15:24 · 94 阅读 · 0 评论 -
虚函数的理解
虚函数在应用中主要分为两大方面,一方面是虚析构函数,另一方面是虚函数,请记住没有虚构造函数。一、虚析构函数:virtual ~Dwelling();class Dwelling{public:...};class Hovel:public Dwelling{public:...};此刻假如我们定义了一个指向基类的指针或引用的派生类对象,这个时候基类中的析构函数就需要改写...原创 2019-04-11 15:58:21 · 267 阅读 · 0 评论 -
C++中map类的使用
代码:附上map类标准库资料:https://en.wikipedia.org/wiki/Associative_containers#include<string> #include<iostream> #include<map> using namespace std;/*map中的数据是默认按照key值自动排序的,如果需要修改排序规则,...原创 2019-04-11 17:35:52 · 4399 阅读 · 0 评论 -
LeetCode-两数求和
题目:解法:第一篇的蛮力法:#include<iostream>#include<vector>using namespace std;class Solution {public: vector<int> answer{0,0}; vector<int> twoSum(vector<int>& nums, ...原创 2019-04-11 18:25:58 · 214 阅读 · 0 评论 -
LeetCode---两数相加
题目:官方答案(c++):class Solution {public: ListNode* addTwoNumbers(ListNode* l1, ListNode* l2) { ListNode* dummyHead=new ListNode(0); ListNode* p=l1,*q=l2,*curr=dummyHead; int carry=0; ...原创 2019-04-12 22:11:26 · 100 阅读 · 0 评论 -
LeetCode--无重复字符的最长子串
题目:答案(查看到最好的):class Solution {public: int lengthOfLongestSubstring(string s) { int size,i=0,j,k,max=0; size = s.size(); for(j = 0;j<size;j++){ for(k = i...原创 2019-04-13 20:05:10 · 118 阅读 · 0 评论 -
leetCode---Z 字形变换、for、string、vector笔记
题目:我的解法(c++)class Solution {public: string convert(string s, int numRows) { int length = s.length(); string result = ""; if (length < 1) return ""; if (numRows >= length || numRows...原创 2019-04-21 17:23:02 · 570 阅读 · 0 评论 -
leetCode---寻找两个有序数组的中位数
题目:没考虑时间复杂度时的做法:class Solution {public: double findMedianSortedArrays(vector<int>& nums1, vector<int>& nums2) { int m = 0, n = 0; float result; int length = nums1.size()...原创 2019-04-17 18:31:53 · 148 阅读 · 0 评论 -
字符串转换为其他类型
之前曾经为字符串转化为整数而苦恼,每次都是用atoi这个函数,并且用strtok_s函数进行字符串的分割。之前参加过华为软件精英挑战赛的时候,读取文件流中的数据是这样写的,现在看来发现里面有很多问题,代码如下:首先看下文件格式:void Astar::readMap(string file,int **arr,int col){ int row=-1,colTemp = 0; str...原创 2019-04-15 13:29:38 · 780 阅读 · 0 评论 -
【转】C/C++ 函数指针使用总结
一 函数指针介绍函数指针指向某种特定类型,函数的类型由其参数及返回类型共同决定,与函数名无关。举例如下: int add(int nLeft,int nRight);//函数定义 该函数类型为int(int,int),要想声明一个指向该类函数的指针,只需用指针替换函数名即可:int (*pf)(int,int);//未初始化 则pf可指向int(int,int)类型的函数。pf前...转载 2019-04-15 15:19:28 · 157 阅读 · 0 评论 -
【转】C++ explicit关键字详解
首先, C++中的explicit关键字只能用于修饰只有一个参数的类构造函数, 它的作用是表明该构造函数是显示的, 而非隐式的, 跟它相对应的另一个关键字是implicit, 意思是隐藏的,类构造函数默认情况下即声明为implicit(隐式).那么显示声明的构造函数和隐式声明的有什么区别呢? 我们来看下面的例子:class CxString // 没有使用explicit关键字的类声明, 即...转载 2019-04-18 17:25:33 · 116 阅读 · 0 评论 -
leetCode--整数反转
题目:官方答案(C++):class Solution {public: int reverse(int x) { int rev = 0; while (x != 0) { int pop = x % 10; x /= 10; if (rev > INT_MAX/10 |...原创 2019-04-23 23:05:07 · 183 阅读 · 0 评论 -
【转】C++string中有关字符串内容修改和替换的函数浅析
1.assign()//string (1)basic_string& assign (const basic_string& str);//substring (2)basic_string& assign (const basic_string& str, size_type subpos, size_type sublen);//c-string (...转载 2019-04-19 14:56:17 · 468 阅读 · 0 评论 -
C++中深拷贝与浅拷贝的区别
#include<iostream>using namespace std;class c_Example {private: int a;public: c_Example()//默认构造函数 { } c_Example(int b)//自定义构造函数 { a = b; } c_Example(const c_Example& A)//自定义拷...原创 2019-04-05 18:48:45 · 3833 阅读 · 0 评论