自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 收藏
  • 关注

原创 C++ 指针函数、函数指针、回调函数

一、指针函数是一个函数,只不过和一般函数区分的原因是它返回的是一个指针。int* f ( int , int ) ; // 返回的是一个整形指针int  f ( int, int);// 返回的是一个整形数上面两个区别的仅仅是返回值得不同,(注意顺便说下,返回值不同可不是重载函数,重载函数只根据形参的类型和个数,当然,只读函数const也是重载函数的判断依据)当然,指针函数在使用时,必...

2018-09-10 22:01:07 835

原创 C/C++ strcpy函数详解

一、题目:     已知strcpy函数的原型是:         char * strcpy(char * strDest,const char * strSrc);     1.不调用库函数,实现strcpy函数。     2.解释为什么要返回char *。二、标准答案:char *strcpy(char *strDest, const char *strSrc){  ...

2018-09-05 18:53:01 3449 1

原创 C++ 引用【&】和【指针】在作为形参时的区别

一、热身准备:int n;int &m = n;在C++中,多了一个C语言没有的引用声明符&,如上,m就是n的引用,简单的说m就是n的别名,两者在内存中占同样的位置,不对m开辟新的内存空间,对m的任何操作,对n来说是一样的。二、对于引用,有以下三条规则:(1)引用被创建的同时必须被初始化(指针则可以在任何时候被初始化)。 (2)不能有NULL 引用,引用必须与...

2018-09-05 18:06:30 2852

原创 malloc/free与new/delete的区别

一、同点:   都可用于申请动态内存和释放内存二、不同点:(1)操作对象有所不同。malloc与free是C++/C 语言的标准库函数,new/delete 是C++的运算符。对于非内部数据类的对象而言,光用maloc/free 无法满足动态对象的要求。对象在创建的同时要自动执行构造函数, 对象消亡之前要自动执行析构函数。由于malloc/free 是库函数而不是运算符,不在编译器控制...

2018-09-05 18:01:05 252

原创 C++经典面试题(最全,面中率最高)

1.new、delete、malloc、free关系delete会调用对象的析构函数,和new对应free只会释放内存,new调用构造函数。malloc与free是C++/C语言的标准库函数,new/delete是C++的运算符。它们都可用于申请动态内存和释放内存。对于非内部数据类型的对象而言,光用maloc/free无法满足动态对象的要求。对象在创建的同时要自动执行构造函数,对象在消亡之前要...

2018-09-05 17:55:19 1705

原创 旋转变换旋转矩阵

1. 简介计算机图形学中的应用非常广泛的变换是一种称为仿射变换的特殊变换,在仿射变换中的基本变换包括平移、旋转、缩放、剪切这几种。本文以及接下来的几篇文章重点介绍一下关于旋转的变换,包括二维旋转变换、三维旋转变换以及它的一些表达方式(旋转矩阵、四元数、欧拉角等)。2. 绕原点二维旋转首先要明确旋转在二维中是绕着某一个点进行旋转,三维中是绕着某一个轴进行旋转。

2018-04-11 23:09:57 367

原创 Ogre中的向量Vector3的成员方法

一、小技巧:float pos[3] = {0.0, 0.0, 0.0};Ogre::Vector3 position = Ogre::Vector3(pos[0]);可以写成float pos[3] = {0.0, 0.0, 0.0};Ogre::Vector3 position(pos); 表达三维向量V(x,y,z)的类,三维世界中的位置、方向和缩放因子都可以用Vector3来表达,关键看你...

2018-04-10 18:44:07 452

原创 C++ dele this 指针

(1)析构函数内调用delete this析构函数内调用deletethis 可以理解为 函数无终止条件自我递归调用, 最终导致栈溢出。(注意:这里无论析构函数是否是虚函数)(2)除析构函数外其他函数都可以,许多老一点的库代码里都有类似releasexxx()或者是recycleself()的函数(3)使用delete this注意事

2018-02-02 21:11:40 215

原创 观察者模式与监听模式区别

一,类的四大基本关系: a.关联关系:如A类调用B类。 b.继承关系:如A类是B类的父类。 c.聚合关系:如装橘子的箱子,箱子是否存在与里面装没装橘子没有任何关系,也就是说橘子不会影响箱子的存在。 d.组合关系:如一个小组,小组是否存在与小组中是否有组员是息息相关的,如果没有组员,小组就不存在了。监听器模式:事件源经过事件的封装传给监听器,当事件源触发事件后

2018-02-02 21:08:07 3683 1

转载 图-拓扑排序

1、拓扑排序在一个表示工程的有向图中,有顶点表示活动,用弧表示活动之间的优先关系,这样的有向图为顶点表示活动的网,我们称为AOV网。AOV网中的弧表示活动之间存在的某种制约关系。所谓拓扑排序,其实就是对一个有向图构造拓扑序列的过程。2、拓扑排序算法对AOV网进行拓扑排序的基本思路:从AOV网中选择一个入度为0的顶点输出;然后删除此顶点,并删除

2017-10-10 10:54:11 356

转载 串的模式匹配算法:BF和 KMP算法

Brute-Force算法的思想1.BF(Brute-Force)算法  Brute-Force算法的基本思想是:1) 从目标串s 的第一个字符起和模式串t的第一个字符进行比较,若相等,则继续逐个比较后续字符,否则从串s 的第二个字符起再重新和串t进行比较。2) 依此类推,直至串t 中的每个字符依次和串s的一个连续的字符序列相等,则称模式匹配成功

2017-08-20 19:49:49 268

转载 数组、链表、栈、队列和STL简介+对比

一、数组数组是一种最基本的数据结构,它是内存上的一块连续存储空间。正因如此数组的随机访问很方便。但数组也有其固有的限制,大小分配后不能改变。STL中的数组STL中的Array是静态数组模板,就是我们所说的数组。使用方法如下。    std::arrayint, 3> a1 = { 1, 2, 3 };std::arraystring, 2>a

2017-08-20 19:48:22 652

转载 七大内部排序算法总结(插入排序、希尔排序、冒泡排序、简单选择排序、快速排序、归并排序、堆排序)

写在前面:                排序是计算机程序设计中的一种重要操作,它的功能是将一个数据元素的任意序列,重新排列成一个按关键字有序的序列。因此排序掌握各种排序算法非常重要。对下面介绍的各个排序,我们假定所有排序的关键字都是整数、对传入函数的参数默认是已经检查好了的。只是简单的描述各个算法并给出了具体实现代码,并未做其他深究探讨。基础知识:

2017-08-20 19:28:36 468

转载 Havel-Hakimi定理

Havel定理描述给定一个非负整数序列{d1,d2,...dn},若存在一个无向图使得图中各点的度与此序列一一对应,则称此序列可图化。进一步,若图为简单图,则称此序列可简单图化。可图化的判定比较简单:d1+d2+...dn=0(mod2)。关于具体图的构造,我们可以简单地把奇数度的点配对,剩下的全部搞成自环。可简单图化的判定,有一个Havel定理,是说: 我们把序列排成

2017-08-20 10:47:31 300

转载 n皇后解法

N皇后问题是一个经典的问题,在一个N*N的棋盘上放置N个皇后,每行一个并使其不能互相攻击(同一行、同一列、同一斜线上的皇后都会自动攻击)。n皇后问题不算是陈词滥调,也是老生常谈了,作为回溯的经典案例,有递归和非递归两种实现方式,同时,除了回溯算法,最近我在网上查了下看到还可以用位运算来解决这个问题。本次趁着本学期算法课程的期末要求,我将对两种算法的实验效果进行分析。一、使用回溯解决n皇后问

2017-08-19 22:19:41 288

转载 CPU 和 GPU 的区别

作者:虫子君链接:https://www.zhihu.com/question/19903344/answer/96081382来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。CPU和GPU之所以大不相同,是由于其设计目标的不同,它们分别针对了两种不同的应用场景。CPU需要很强的通用性来处理各种不同的数据类型,同时又要逻辑判断又会引入大量的分支

2017-06-25 20:24:09 405

原创 Qgis属性显示

————————————-class:QgsDualView—————————————- /初始化属性对话框 void QgsDualView::init( QgsVectorLayer* layer, QgsMapCanvas* mapCanvas, const QgsFeatureRequest &request, const QgsAtt

2017-03-03 16:25:17 4863

原创 QGIS-2.14.0 win64 vs2010编译 部分截图

QGIS-2.14.0 win64 vs2010编译一、  参考李民录:http://blog.csdn.net/liminlu0314/article/details/17400075周俊(记忆悔中行):http://www.cnblogs.com/jiyihuizhongxing/p/4011984.html二、下载1.QGIS安装程序下

2017-01-07 17:26:48 361

转载 二值图像连通域标记算法与代码加载栅格影响,提取像素转点存储shp文件

一、前言二值图像,顾名思义就是图像的亮度值只有两个状态:黑(0)和白(255)。二值图像在图像分析与识别中有着举足轻重的地位,因为其模式简单,对像素在空间上的关系有着极强的表现力。在实际应用中,很多图像的分析最终都转换为二值图像的分析,比如:医学图像分析、前景检测、字符识别,形状识别。二值化+数学形态学能解决很多计算机识别工程中目标提取的问题。二值图像分析最重要的方法就是连通区域标

2017-01-06 20:30:45 1751 1

原创 Qgis从数据库读数据到渲染当前视图

一、有关渲染的类QgsVectorLayerRenderer类:(渲染矢量图层要素)    {      drawRendererV2( QgsFeatureIterator& fit )  渲染要素遍历器中的单个要素      setGeometryCachePointer( QgsGeometryCache* cache )  建立缓存,存储要渲染的几何对象      re

2016-12-25 10:41:39 3524

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除