- 博客(45)
- 资源 (3)
- 收藏
- 关注
原创 2021-04-16
const map []索引问题最近开发时遇到一个问题#include <iostream>#include <map>using namespace std;enum GeColor{ eRed=0, eBlue, eGreen};const std::map<GeColor, int>g_map = { {eRed,1} ,{eBlue,2} ,{eGreen,3} };int main(){ cout <</g_m
2021-04-16 21:14:37 155 1
原创 1.6 lambda表达式
1.6 lambda表达式本文为图书《深入应用C++11:代码优化与工程级应用 祁宇编著》1.6章内容笔记lambda来源于函数式编程的概念,优点如下:声明式编程风格:就地匿名定义目标函数或函数对象,不需要额外写一个命名函数或者函数对象。以更直接的方式去写程序,好的可读性和可维护性;简洁:不需要额外再写一个函数或者函数对象,避免了代码膨胀和功能分散,让开发者更加集中精力在手边的问题,同时也获取了更高的生产率;在需要的时间和地点实现功能闭包,使程序更灵活;1.6.1 lambd
2021-03-10 22:57:06 191
原创 1.5 std::function和bind绑定器
1.5 std::function和bind绑定器本文为图书《深入应用C++11:代码优化与工程级应用 祁宇编著》1.5章内容笔记1.5.1 可调用函数可调用对象函数指针具有operator()成员函数的类对象(仿函数)可被转化为函数指针的类对象类成员(函数)指针代码:#include <iostream>#include <map>using namespace std;//1.5.1 /*可调用对象 (1)函数指针 (2)具有operato
2021-01-31 23:13:27 204
转载 函数指针
一、函数指针参考:(1)C++ 函数指针 & 类成员函数指针https://www.runoob.com/w3cnote/cpp-func-pointer.html《C++ Primer 第五版》6.7章1、函数指针的定义方式data_types (*func_pointer)( data_types arg1, data_types arg2, ...,data_types argn);举例int (*fp)(int a); // 这里就定义了一个指向函数(这个函数参数仅仅为一
2021-01-31 20:28:57 153
原创 PCL-1.8.0-AllInOne-msvc2013-win64安装
安装1、默认路径或安装需要更改路径2、中途会出现安装选择,如下选择如下路径,放在3rdParty文件夹下里,继续安装安装完会重新启动计算机3、复制文件所选文件拷到openni2下面4、配置环境变量...
2018-11-16 21:05:36 1091
原创 C++面试 常见手撕代码
1、冒泡排序#include &amp;lt;iostream&amp;gt;using namespace std;void swap(int &amp;amp;a, int &amp;amp;b){ int temp = a; a = b; b = temp;}void sort(int nums[], int num){ for (int i = 0; i &amp;lt; nu
2018-10-08 16:04:33 2823
原创 反转链表
/*反转一个单链表。进阶:链表可以迭代或递归地反转。你能否两个都实现一遍?**//** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * ...
2018-10-05 16:59:15 162
原创 直方图统计(map容器按值排序)
#include <iostream>#include<opencv.hpp>#include <vector>#include<map>#include<algorithm>using namespace std;using namespace cv;typedef pair<int, int> pii;...
2018-10-05 16:28:01 384
原创 大数相加及大数相乘
参考文献https://blog.csdn.net/koudaidai/article/details/7401857https://blog.csdn.net/OrthocenterChocolate/article/details/36664901C++ 基本数据类型长度大数相加#include <iostream>#include <string>us...
2018-10-04 14:49:27 234
原创 linux进程与线程
进程 进程有独立的地址空间 Linux为每个进程创建task_struct 每个进程都参与内核调度,互不影响线程 进程在切换时系统的开销大 很多操作系统引进了轻量级进程LWP 同一进程中的线程共享相同地址空间 Linux不区分进程、线程(都是任务)线程特点 通常线程指共享相同地址空间的多个任务 使用线程的好处大大提高任务切换的效率避免额外的TLB&...
2018-10-02 19:47:42 157
原创 矩阵乘以矩阵的转置(数组形式表示矩阵)
#include <iostream>using namespace std;int **fun(int init,int rows, int column){ int **A; int **_A; int **result; A = (int**)malloc(rows*sizeof(int*)); for (int i = 0; i &...
2018-09-10 13:19:33 9443
原创 交换数组下标与元素
/**例如:a[0]=3,a[1]=2,a[2]=1,a[3]=4,a[4]=0输出:a[0]=4,a[1]=2,a[2]=1,a[3]=0,a[4]=3*/#include <iostream>using namespace std;int *fun(int a[], int len){ static int p[10];//必须添加static,否则返回...
2018-09-10 10:29:35 1653
原创 Eclipse和Linaro交叉编译并配置链接库文件
1.在windows环境下,使用Eclipse和gcc-Linaro工具链,对BeagleBone进行交叉编译和远程部署链接: https://blog.csdn.net/zsy19881226/article/details/46952535 http://beaglebone.globalmultimedia.in/(英文原版)2.动态链接库的制作及配置硬件:树莓派开发板、...
2018-08-24 10:31:03 754
原创 c++ 问题整理
1、char *p与char p[]有什么区别? char* p是一个指针,根本没分配内存,它指向的”abc123ABC” 是只读的,不能改变,在下面给它赋值肯定是错的; char p[]是一个数组,已经分配内存,是将”abc123ABC” 复制到该内存里面,这个内存是可读写的; (char*) p 是将p强行转换成指向char类型的指针...
2018-04-05 17:11:56 155
原创 4.2.2 队列的链式存储结构及实现
存储结构将队头指针指向链队列的头结点,而队尾指针指向终端结点。 空队列时,front和rear都指向头结点。 链队列的结构为:typedef int QElemType; /* QElemType 类型根据实际情况而定,这里假设为 int */typedef struct QNode/*结点结构*/{ QElemType data; struct QN...
2018-03-19 09:53:58 208
原创 4.2.1 队列的顺序存储结构及实现
循环列表我们把队列的这种头尾相接的顺序存储结构称为循环队列。 假溢出现象: 队列满的条件是 (rear+1) % QueueSlze==front。 (取模 “%” 的目的就是为了整合rear与front大小为一个问题)。 通用的计算队列长度公式为:(rear- front + QueueSize) %QueueSize。代码:#define OK 1#define...
2018-03-17 14:32:18 289
原创 4.2.0 队列的定义和抽象数据类型
概念队列 ( queue ) 是只允许在一端进行插入操作,而在另一端进行删除操作的线性表。 队列是一种先进先出 (First In First Out) 的线性表,简称 FIFO。允许插入的一 端称为队尾,允许删除的一端称为队头。 抽象数据类型ADT 队列 (Queue)Data 同线性表。元素具有相同的类型,相邻元素具有前驱和后继关系 。Operation ...
2018-03-17 13:06:56 2300
原创 4.1.1 栈的链式存储结构及实现
概念栈的链式存储结构,简称为链栈。 由于单链表有头指针,而栈顶指针也是必须的,所以把栈顶放在单链表的头部。另外,因为有了栈顶在头部了,所以单链表中比较常用的头结点也就失去了意义,通常对于链表来说,是不需要头结点的。 链栈的结构代码:typedef struct StackNode{ SElemType data; struct StackNode* next;...
2018-03-14 11:12:06 267
原创 c++类型转换
概念类型转换的含义是通过改变一个变量的类型为别的类型从而改变该变量的表示方式。为了类型转换一个简单对象为另一个对象你会使用类型转换操作符。 C风格的强制类型转换(Type Cast)很简单,不管什么类型的转换统统是:TYPE b = (TYPE)a C++风格的类型转换提供了4种类型转换操作符来应对不同场合的应用。 类型 用法 static_cast 一般的转...
2018-03-12 20:16:41 156
原创 4.1.0 栈的顺序储存结构及实现
栈的存储结构定义/*顺序栈结构*/typedef struct{ SElemType data[MAXSIZE]; int top; /*用于栈顶指针*/}SqStack;栈普通情况、空栈和栈满的情况示意图: 栈的顺序存储结构一一进栈操作逻辑图: /*插入元素e为新的栈顶元素*/Status Push(SqStack *S, SElemT...
2018-03-12 12:11:39 241
原创 4.0.0 栈的定义与抽象数据类型
栈的定义栈( stack )是限定仅在表尾进行捕入和删除操作的线性表。 我们把允许插入和删除的一端称为栈顶 (top),另一端称为栈底 (bottom),不含任何数据元素的栈称为空栈。栈又称为后进先出 (Last In Filrst Out) 的线性表,简称 LlFO 结构 。 首先它是一个线性表,也就是说,栈元素具有线性关系,即前驱后继关系。只不过它是一种特殊的线性表而已。定义中说是在线...
2018-03-12 09:59:56 1369
原创 类模板——MyArray框架搭建和函数实现
#include<iostream>using namespace std;template<class T>class MyArray{public: MyArray(int capacity){ this->mCapacity = capacity; this->mSize = 0; //申请...
2018-03-10 15:59:24 1005
原创 类模板碰到static成员
#include<iostream>using namespace std;template<class T>class Person{public: static int a;};//类外初始化template<class T>int Person<T>::a = 0;int main(){ //类模板具体化为in...
2018-03-09 10:14:41 181
原创 模板类h和cpp分开写问题浅析
.h文件#pragma oncetemplate<class T>class Person{public: Person(T age); void Show();public: T age;};.cpp文件#include "Person.h"template<class T>Person<T>::...
2018-03-08 21:02:51 2923 3
原创 模板类中使用友元
#include<iostream>using namespace std;//不要滥用友元//类前声明template<class T>class Preson;template<class T> void PrintPerson(Preson<T>& p);template<class T>class Pres...
2018-03-08 19:44:13 223
原创 3.2.3 静态链表
概念用数组描述的链表叫做静态链表,这种描述方法还有起名叫做游标实现法。数组的元素由两个数据域组成,data和cur。数组的每个下标都对应一个data和一个cur。数据域data,用来存放数据 元素,也就是通常我们要处理的数据;而游标cur相当于单链表中的next指针,存放该元素的后继在数组中的下标。 存储结构:#define MAXSIZE 1000 /* 存储空间初始分配量...
2018-03-08 10:24:50 164
原创 简单的编译原理
原理图: 1、hello.cpp经过预处理器,将宏展开,生成文件hello.i 2、hello.i经过编译器,将文件编译成汇编语言,生成文件为hello.s 3、hello.s经过汇编器,将文件编译成目标文件hello.o(win下为hello.obj)//二进制文件 4、hello.o经过链接器,将文件编译成可执行文件...
2018-03-07 20:27:04 299
原创 3.2.2 单链表的读取、插入和删除
1、单链表的读取 算法思路: (1) 声明一个结点 p 指向链表第一个结点(这里是存储数据的第一个节点,不是头结点),初始化 j 从 1 开始; (2) 当 j < i 时,就遍历链表,让 p 的指针向后移动,不断指向下一结点, j 累加 1; (3) 若到链表末尾 p 为空,则说明第 i 个元素不存在; (4) 否则查找成功,返回结点 p 的数据 ...
2018-03-07 11:05:07 362
原创 Linux远程登录
1、SSH 2、zmodem协议 通过此协议可以客户端与服务端的传递文件。 sudo apt-get install lrzsz 然后通过rz sz命令操作文件即可。 3、Samba服务 类似于共享文件夹 sudo apt-get install samba 配置: 1、找到smb.conf文件(不同Linux系统,...
2018-03-06 18:07:46 186
原创 3.2.1 单链表的整表创建和删除
创建单链表的过程就是一个动态、生成链表的过程。即从"空表"的初始状态起,依次建立各元素结点,并逐个插入链表。头插法:算法思路:1.声明一结点p和计数器变量i;2.初始化一空链表L;3.让L的头结点的指针指向NULL ,即建立一个带头结点的单链表i;4.循环 : • 生成一新结点赋值给 p; • 随机生成一数字赋值给p的数据域 p->data; • 将p插入到头结点与...
2018-03-06 12:34:31 286
原创 3.2.0 线性表的链式存储结构
本文为学习《大话数据结构》所做的笔记,详细可以阅读此书。定义: 为了表示每个数据元素 ai与其直接后继数据元素 ai+1 之间的逻辑关系,对数据元素刮来说,除了存储其本身的信息之外,还需存储一个指示其直接后继的信息(即直接后继的存储位置)。我们把存储数据元素信息的域称为数据域,把存储直接后继位置(地址信息)的域称为指针域。 指针域中存储的信息称做指针或链。 这两部分信息组成数据元素 ai的存...
2018-03-06 10:26:25 139
原创 3.1.0 线性表的顺序存储结构
相关知识参考《大话数据结构》#include"stdio.h" #define OK 1#define ERROR 0#define TRUE 1#define FALSE 0#define MAXSIZE 20 /* 存储空间初始分配量 */typedef int Status; /* Status 是函数的类型,其值是函数结果状态代码,如 OK 等 */type...
2018-03-05 12:52:11 230
原创 cmd 批量复制文件/文件夹
在根目录下创建**.bat文件填写:copy *.h E:\testcopy *.cpp E:\testxcopy ConfigFile E:\test\ConfigFile/excopy GeneratedFiles E:\test\GeneratedFiles/ecopy复制文件 xcopy复制文件夹(内部文件和文件夹),注意在目标目录下也要创建相关文件夹,否则将都...
2018-03-02 20:21:50 10905
原创 Git远程连接GitHub
在B站上学习上了一下Git和GitHub的教程(视频地址:https://www.bilibili.com/video/av10475153/),简单的整理了一下流程和期间遇到的一些问题。一、安装Git下载地址:https://git-scm.com/downloads。Windows平台下默认安装即可。可参考百度经验:https://jingyan.baidu.com/article/9f7e7...
2018-03-02 17:23:29 9155
原创 使用PCL绘制空间圆
参考算法公式:http://blog.csdn.net/menjiawan/article/details/43021507代码:void DisplayMessage::createTheoryCircle(Point3d planeNormal, Point3d centerPoint, double R){ double nx = planeNormal.x, ny = planeNor...
2018-03-01 20:03:06 3355 1
原创 QString字符类型转HTuple类型
在写程序时,遇到函数 void ReadImage(HObject* Image, const HTuple& FileName);需要将QString类型转化为HTuple类型。首先看一下HTuple数据类型定义: // String (C style) HTuple(const char *s);所以需要将QString转...
2018-03-01 13:35:01 4392 1
原创 PCL问题整理
1、在声明一个显示点云时必须这么写:pcl::PointCloud::Ptr cloudPoints(new pcl::PointCloud);而这样写时,程序会出现bug:pcl::PointCloud::Ptr cloudPoints;这是内存的问题;但有时要在类里定义pcl::PointCloud::Ptr cloudPoints;类定义中不能进行内存申请,所以只能写在构造函
2018-01-28 20:12:27 368
原创 QT显示csv文件格式表格
这里使用的.csv格式的文件,对于Excel文件还没做研究,网上有人分享了他自己写的类,专门操作Excel表格。这里操作.csv文件和操作txt文件一样,把数据按照行读入,然后进行数据分割就可以了,本来自己写数据分割的算法,后来发现QT的QStringList类就有这个功能,所以直接使用了,参考《C++ GUI QT4编程(第二版)》中第230页的内容。在这个程序中,还增加了一个按照时间的
2018-01-28 15:03:47 2248 1
原创 树莓派 Programming介绍
Geany IDE 可以编写c++ Python等Node-RED是构建物联网(IOT, Internet ofThings)应用程序的一个强大工具,其重点是简化代码块的“连接”以执行任务。它采用可视化编程方法,允许开发人员将预定义的代码块(称为“节点”,Node)连接起来执行任务。连接的节点,通常是输入节点、处理节点和输出节点的组合,当他们连接在一起的时候,构成一个“流”(Flows)。
2018-01-27 14:45:00 447
两圆相交求交点
2017-09-11
opencv打开笔记本镜头
2017-09-11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人