- 博客(23)
- 收藏
- 关注
原创 C4996 ‘scanf‘: This function or variable may be unsafe. Consider using scanf_s instead.
问题:C4996 ‘scanf’: This function or variable may be unsafe. Consider using scanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.解决方法:如下图所示,在预处理器定义中添加_CRT_SECURE_NO_WARNINGS即可...
2021-04-16 13:25:37 210
原创 错误 C2440 “=”: 无法从“const char [5]”转换为“char *”
解决方案:将 “符合模式选项” 改为 “否”,具体如下图所示:
2021-04-16 11:15:00 997
转载 C++11特性:auto关键字
转载原文链接地址:https://www.cnblogs.com/QG-whz/C++98 auto早在C++98标准中就存在了auto关键字,那时的auto用于声明变量为自动变量,自动变量意为拥有自动的生命期,这是多余的,因为就算不使用auto声明,变量依旧拥有自动的生命期:int a =10 ; //拥有自动生命期auto int b = 20 ;//拥有自动生命期static int c = 30 ;//延长了生命期C++98中的auto多余且极少使用,C++11已经删除了这一用法,取
2020-12-20 11:23:29 314 1
原创 C4996报错 C4996 ‘std::fpos<_Mbstatet>::seekpos‘: warning STL4019
PCL点云学习报如下错误:右键点击项目-》属性-》C/C++ ->常规-》SDL检查,将是改为:否即可。
2020-12-15 21:53:14 1924 5
原创 C4996 ‘std::fpos<_Mbstatet>::seekpos‘: warning STL4019:
学习PCL点云开发库报错:C4996 ‘std::fpos<_Mbstatet>::seekpos’: warning STL4019: 如下图所示:解决办法:右键点击项目-》属性-》C/C++ ->预处理器-》预处理器定义,在预处理器定义中添加以下内容:_CRT_SECURE_NO_WARNINGS...
2020-12-15 21:47:34 1126
原创 “错误 C3861 “pop_t”: 找不到标识符 ”
学习PCL点云库时报“error: C3861 “pop_t”: 找不到标识符 ”。解决办法:双击报错的“ C3861 “pop_t”: 找不到标识符 ”,跳转到dist.h文件中,将该dish.h 503行的typedef unsigned long long pop_t语句剪切粘贴到到#if __GNUC__之前,就可以了。具体原理参见:https://github.com/mariusmuja/flann/issues/386...
2020-12-15 20:28:46 1056
原创 PCL点云处理可视化——法向显示错误“no override found for vtk actor”解决方法
一、环境Win10 X64VS2017PCL1.9.1AllinOne(或编译源码)二、代码#include "stdafx.h"#include <pcl/point_types.h>#include <pcl/io/pcd_io.h>#include <pcl/kdtree/kdtree_flann.h>#include <pcl/features/normal_3d.h>#include <pcl/surface/gp3.h&g
2020-12-15 20:21:01 439 1
原创 堆排序
**堆排序**堆排序是一种选择排序。选择排序:每趟从待排序的记录中选出关键字最小的记录,顺序放在已排序的记录序列末尾,直到全部排序结束为止。算法思想堆排序是利用堆的性质进行的一种选择排序。堆是一棵顺序存储的完全二叉树。其中每个结点的关键字都不大于其孩子结点的关键字,这样的堆称为小根堆。其中每个结点的关键字都不小于其孩子结点的关键字,这样的堆称为大根堆。举例来说,对于n个元素的序列{R0, R1, … , Rn}当且仅当满足下列关系之一时,称之为堆:Ri <= R2i+1 且 Ri
2020-12-08 19:47:15 249
原创 基数排序
**基数排序**算法思想基本思想:将所有待比较数值(正整数)统一为同样的数位长度,数位较短的数前面补零。然后,从最低位开始,依次进行一次排序。这样从最低位排序一直到最高位排序完成以后,数列就变成一个有序序列。算法步骤:将所有待比较数值(正整数)统一为同样的数位长度,数位较短的数前面补零。从最低位开始,依次进行一次排序。这样从最低位排序一直到最高位排序完成以后, 数列就变成一个有序序列。基数排序的方式可以采用 LSD(Least significant digital)或 MSD(Most
2020-12-08 19:37:37 125
原创 归并排序
归并排序归并排序是建立在归并操作上的一种有效的排序算法,该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。**算法思想:**该算法采用经典的分治(divide-and-conquer)策略(分治法将问题分(divide)成一些小的问题然后递归求解,而治(conquer)的阶段则将分的阶段得到的各答案"修补"在一起,即分而治之)。分而治之:1、分阶段可以看到这种结构很像一棵完全二叉树,本文的归并排序我们采用递归去实现(也可采用迭代的方式去实现)。分阶段可以理解为就是递
2020-12-08 19:33:48 133
原创 希尔排序
希尔排序基本思想:希尔排序是把序列按下标的一定增量分组,对每组使用直接插入排序算法排序;随着增量的逐渐减少,每组包含的关键词越来越多,当增量减至1时,整个序列恰好被分为一组,算法便终止。算法实现:希尔排序需要定义一个增量,这里选择增量为gap=length/2,缩小增量以gap=gap/2的方式,这个增量可以用一个序列来表示,{n/2,(n/2)/2…1},称为增量序列,这个增量是比较常用的,也是希尔建议的增量,称为希尔增量,但其实这个增量序列不是最优的。(1)对于一个无序序列{8,9,1,7,2,3
2020-12-08 19:24:30 24756 4
原创 插入排序
插入排序**基本思想:**每一步将一个待排序的数据插入到前面已经排好序的有序序列中,直到插完所有元素为止。算法实现:直接插入排序是将无序序列中的数据插入到有序的序列中,在遍历无序序列时,首先拿无序序列中的首元素去与有序序列中的每一个元素比较并插入到合适的位置,一直到无序序列中的所有元素插完为止。对于一个无序序列arr{4,6,8,5,9}来说,我们首先先确定首元素4是有序的,然后在无序序列中向右遍历,6大于4则它插入到4的后面,再继续遍历到8,8大于6则插入到6的后面,这样继续直到得到有序序列{4,5,
2020-12-08 19:11:59 282
原创 简单选择排序C++实现
简单选择排序C++实现***原理:***简单选择排序是每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,第一次从下标为0的开始,将下标为0的这个数与后面的n-1个进行比较;找出最小或者最大的放在下标为0的这个位置;第二次从下标为1的开始比较;查询剩下的最大或者最小值;放在下标为1的位置;直到全部待排序的数据元素排完。 选择排序是不稳定的排序方法。优缺点:好理解易实现,但是效率低下且不稳定复杂度:不需要额外的辅助空间,空间复杂度为O(1) 时间复杂度:O(n^2)稳定性:
2020-12-08 18:54:48 278
原创 C++实现快速排序(源代码)
C++实现快速排序(源代码)快速排序的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。快速排序是一种不稳定的排序算法,也就是说,多个相同的值的相对位置也许会在算法结束时产生变动快速排序是C.R.A.Hoare于1962年提出的一种划分交换排序。它采用了一种分治的策略,通常称其为分治法(Divide-and-ConquerMethod)。该
2020-12-08 18:28:50 1858
原创 【冒泡排序】c++实现冒泡排序代码
【冒泡排序】c++实现冒泡排序代码冒泡排序的基本思想:冒泡排序的核心是对所有相邻数组元素的值进行比较,如果是逆序(a[i]>a[i+1]),则两者交换,最终达到有序。步骤:(1)比较第一个数a[0]和第二个数a[1],如果a[0]>a[1],则,两个数组元素的值交换;然后接着比较第二个数a[1]和第三个数a[2],以此类推,直到第n-1个数a[n-1]与第n个数a[n]比较为止。这个过程是第一趟冒泡排序,其结果是将数组中最大的值放到了最后一个位置上。(2)第二趟冒泡排序,是对前n-1个
2020-12-08 16:58:39 11003
原创 DELL服务器磁盘分区
DELL服务器磁盘分区第一步:开机到这个界面,按Ctrl+R第二步:进入到PERC H330 管理界面。可以看到上述图片中有一个磁盘是没有进行过配置的(Unconfigured Physical Disks 558.375GB)上下键移动,选择这个没有配置的磁盘,按回车(Enter),进入以下界面:按上下键依次进行配置,如下图所示:配置好后,选择OK并按Enter确认。选择OK后,按Ctrl+Alt+Delete进行重启。第三步:磁盘分区首先把磁盘放入电脑主机里面开机,打开之后
2020-12-06 16:35:02 5226
转载 vs中的快捷键
**VS中的快捷键**1、窗口快捷键Ctrl+W,W: 浏览器窗口Ctrl+W,S: 解决方案管理器 (Solution)Ctrl+W,C: 类视图 (Class)Ctrl+W,E: 错误列表 (Error)Ctrl+W,O: 输出窗口(输出Output;输出程序的的编译信息 ;可在vs中“工具”—-“选项”—-“调试”—-“输出窗口”进行配置需要查看哪些信息)Ctrl+W,P: 属性窗口 (属性 Property)Ctrl+W,T: 任务列表 (任务Task)Ctrl+W,X: 工具
2020-09-24 11:09:44 659
原创 Opencv4.1.0下载与vs2017环境配置
OpenCV4.1.0+VS2017环境配置准备工具:OpenCV:4.1.0IDE:VS2017安装环境:Win10 64位操作系统主要步骤如下:下载OpenCV自解压程序安装VS2017配置环境变量新建项目配置包含路径配置库目录配置链接器重启VS2017测试配置是否成功1.下载OpenCV自解压程序打开https://opencv.org/releases.html,可以看到如下图所示的界面。点击Windows,选择好保存路径,开始下载。下载完成后,如下图所
2020-05-16 20:34:18 413
原创 PCL从入门到精通(第三章)案例
案例1:读取pcd文件1.首先在同一个文件夹下,新建一个source文件夹和一个cmake_bin文件夹,如下所示:注:博主将案例分单元进行了归类(只是为了方便管理),可根据自己的喜好进行创建。2.打开教程所指示的第三章案例1(1 reading pcd)文件夹,将该文件夹下的source文件夹中的 CMakeLists.txt,pcd_read.cpp两个文件一同复制到上图中的source文件夹中,如下图所示:3.打开cmake软件,添加源代码路径,和需要建立的二进制文件路径,具体如下:添加
2020-05-12 23:33:14 779
原创 Windows下CMake安装教程
博主电脑环境:Windows10 64位首先下载CMake官网下载地址:https://cmake.org/download/里面好多版本,根据自己需要版本进行下载。【注意】根据自己的电脑是什么系统,以及是32位还是64位来进行下载。(x86指的是32位系统;x64指的是64位系统)1.下载完成后,双击进行安装:进入如下欢迎界面,点击next:2.勾选同意协议,然后点next:3.按下图进行勾选,然后点next:4.自主选择安装路径,然后点next:5.开始安装,点击Inst
2020-05-11 19:46:55 8758
原创 PCL1.9.1下载与配置+Visual Studio2017
PCL1.9.1下载与配置+Visual Studio20171.PCL1.9.1下载下浮两种下载途径,可自行选择下载:一.通过博主的百度网盘:二.官网下载1.百度搜索GitHub,点击进入GitHub主页2.在如下界面搜索栏中输入pcl,按回车键3.点击下图所示链接:4.在新的界面中下拉至如下图所示区域,并点击图中所指链接:5.在新的界面中下拉至下图所示处:根据个人...
2020-05-04 22:17:33 3595
原创 visual studio2017安装与下载
visual studio2017安装与下载1.下载:点击进入visual studio官网step1: 点击下载按钮**step2:**下拉至页面最底部,点击下图箭头指示文本链接点击之后在新界面下拉会看到如下内容:按下图步骤进行点击:按如下步骤点击自己所需的版本以上三个版本都可以选:Community 2017是免费社区版本Professional 2017是付费版E...
2020-04-22 00:07:15 1226 2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人