关闭
当前搜索:

[置顶] 【C++】 深入探究 new 和 delete

在C++中,我们应该经常会用到new、delete,它们是C++的一个关键字,同时也是一个操作符,下面我将我对这两者的了解和学习做一个总结和探讨。new和delete的全过程首先我们定义一个对象A: struct A { size_t h; };当我们使用关键字new在堆上动态创建一个对象A时,比如 A* p = new A(),它实际上做了三件事: 向堆上申请一块内存...
阅读(440) 评论(0)

用SURF算法和其描述子实现视频的特征图像跟踪和标定

其实最初我是想采用SIFT的算子和特征点识别来进行特征图像的跟踪标定的,但是经过测试后发现SIFT的检测时间实在是太长了,根本不适合作为视频的特征识别的算法,所以虽然其识别准确率是最高的,但是还是只能进行舍弃 而且SURF虽然准确率没有SIFT高,但其也保留了基本的尺度不变性和旋转不变型,用作特征图像的标定其实也算不错,不过这样的方法也有很大的问题,就是每一帧都必须对全局图像进行一个特征点的描述...
阅读(34) 评论(0)

SIFT算法的特征点筛选和DMatch、Keypoint描述

SIFT算法描述 SIFT(Scale-invariant feature transform)是一种检测局部特征的算法,该算法通过求一幅图中的特征点(interest points,or corner points)及其有关scale 和 orientation 的描述子得到特征并进行图像特征点匹配 这个算法具有比较良好的尺度不变性和旋转不变形 KeyPoint KeyPoint类的成员...
阅读(44) 评论(0)

goodFeaturesToTrack关键点检测

环境:opencv 2.3.1 函数 goodFeaturesToTrack,函数原型: void goodFeaturesToTrack( InputArray image, OutputArray corners, int maxCorners, double qualityLevel, double minDi...
阅读(35) 评论(0)

用Atom和markdown编辑笔记

AtomAtom是github开发的开源跨平台的编辑器,Atom是一个非常强大的编辑器,主要是因为其内有许多的热心用户通过其开源的接口写了大量强大的插件我平时一般都把Atom当作一个简单的代码查看器和简单逻辑的编辑器,但是最近突然发现Atom还内置了markdown的编辑和预览功能,用了一下发现效果也很不错,而且其界面也比csdn和有道云自带的markdown要好看的多且人性化不少。当然最重要的还是...
阅读(46) 评论(0)

iostream 缓冲区详解(cin和cout)

缓冲区缓冲区又称为缓存,它是内存空间的一部分。也就是说,在内存空间中预留了一定的存储空间,这些存储空间用来缓冲输入或输出的数据,这部分预留的空间就叫做缓冲区。 缓冲区根据其对应的是输入设备还是输出设备,分为输入缓冲区和输出缓冲区。缓冲区的类型 缓冲区 分为三种类型:全缓冲、行缓冲和不带缓冲。  1、全缓冲   在这种情况下,当填满标准I/O缓存后才进行实际I/O操作。全缓冲的典型代表是对磁盘文件的...
阅读(65) 评论(0)

【操作系统学习】(二)同步互斥

临界区描述 临界区 指进程中访问临界资源的一段需要互斥访问的代码 进入区 检查可否进入临界区的一段代码 如可进入,设置相应“正在访问临界区”的标志 退出区 清除“正在访问临界区”的标志 剩余区 代码中的剩余代码 访问规则 空闲则入 没有进程在临界区时,任何进程可进入 忙则等待 如果有进程在临界区时,任何进程都不可进入临界区 有限等待 等待进入临界区的进程不能无限的被动等待 让权等待(可...
阅读(90) 评论(0)

【操作系统学习】(一)进程调度

进程调度的概念进程切换:CPU资源的当前占用者的切换 保存当前使用者的执行上下文 回复下一个进程的执行上下文 处理机调度策略 从就绪队列中挑选下一个占用CPU运行的进程 从多个可用CPU中挑选就绪进程可使用的CPU资源 调度程序:挑选就绪进程的内核函数调度策略 依据什么原则挑选进程和线程? 调度时机 什么时候进行调度? 调度时机进程的状态 创建 就绪 等待 运行 退出 内核运行调度程序的条件 进程从...
阅读(72) 评论(0)

【AR技术点】(一)如何通过捕捉特征图像来建立起三维空间

在AR的技术中,最主要的技术点主要有三个:1. 捕获特征图像 2. 跟踪特征图像的移动 3. 计算捕获的特征图像相对于原特征图像的偏移向量 为什么说这三个是最重要的呢 原因就是AR技术最关键的就是能够高效的捕捉你给予的特征图像,并在此之上将二维的视频图像转换成三维的空间,然后在此之上展示你想要展示的3D模型。捕获特征图像说到特征匹配,就得先说一下什么是特征点,现在几乎所有的特征图像捕捉算法都是基于...
阅读(241) 评论(0)

探究C++中的成员函数指针和虚函数表

say something相信对C++对象有一定了解的话,应该都会知道,在C++中对象的实现中,成员函数和成员变量是分离的 所以我们所谈到的非静态成员函数其实只是一个普通的函数(不过被编译器所隐藏,必须绑定到特定的对象上才能执行) 静态成员函数实际上就真的就是一个普通的函数,独立于整个对象之外,不过被编译器加上了一堆修饰避免重命名,和对象无关 普通非静态成员函数的实现是通过传入this指针的方...
阅读(92) 评论(0)

STL中的空间配置器allocator的实现原理及源码剖析

allocator是STL为自己的模版容器所设计的标准空间配置器。处于std命名空间下 今天我要讲的的allocator的源码在我的github上,地址为 mySTL 是我模仿标准STL写出的代码,并添加了注释。allocator简介allocator为一个模版类,我们使用的时候一般都会将其绑定到一个具体的类型上。如下:allocator alc;allocator大致需要实现如下功能:...
阅读(117) 评论(0)

STL中的deque及源码实现 std::deque

本博客中涉及到的所有代码均在我的github上存放,地址:mySTL如果有兴趣的话可以去下载查看,注释比较详尽。说点什么相信大家如果对C++有一定的了解的话,都会知道C++中有STL这个超大的模版库,这个模版库提供了非常多的模版容器和模版算法,如常用的vector、list、stack、queue、map、set等等容器,sort、find_if、find、swap等模版函数 这个库由于创建时间过...
阅读(244) 评论(0)

对C++中的this指针的分析

一个示例首先让我们观察如下代码:namespace ClassTest { class A { private: int m_int1; int m_int; static int st_int; public: void test1() { cout << "test1" << endl; }...
阅读(163) 评论(0)

【C++】不能将“this”指针从“const vector”转换为“vector & rhs"

最近在写STL,在对stack的swap函数进行测试的时候,出现了这个问题,由于是第一次见,我独自想了很久也有点迷糊,搜索调试弄了半天终于解决了,以下是出问题的代码: template bool vector::operator ==(const vector& rhs)const { if (size()...
阅读(178) 评论(0)

【C++】STL的重写

最近在写一个注释比较靠谱的STL项目,由本人独立编写,参考书籍为《Effective C++》、《C++ Primer》、《STL源码剖析》等 准备完成的内容为: - 大部分的容器 - 大部分的泛型算法 - 空间配置器 - 适配器 - 型别萃取器 - 迭代器现在已经实现了如下的东西:型别萃取、vector、Alloc空间配置器、迭代器型别萃取、一些泛型算法(后期才会着重编写...
阅读(117) 评论(0)

【C++】MFC中的CString和std::string,以及两者之间的相互转换(基于VS201X版本)

最近学了两天MFC,发现还比较有意思,准备过一段时间买一本《深入浅出MFC》,去好好学一下图形界面的框架以及其内部对系统调用的使用。 在使用MFC的时候,虽然界面和其表面逻辑框架都是使用MFC的,但其实大部分的内部逻辑我还是使用C++原生库去写的,比如今天花了两个小时写了两个MFC小程序——输入型多项式计算器(中缀转后缀,支持加减乘除括号的混合运算)、一个简单的汉英词典软件(解决一下自己平常打代码...
阅读(319) 评论(0)
57条 共4页1 2 3 4 下一页 尾页
    个人资料
    • 访问:19814次
    • 积分:768
    • 等级:
    • 排名:千里之外
    • 原创:54篇
    • 转载:2篇
    • 译文:1篇
    • 评论:0条
    文章分类