Welcome 微信登录
编程资源 图片资源库 蚂蚁家优选 PDF转换器

首页 / 操作系统 / Linux

OpenCV中存储和读取我们数据的函数

OpenCV中存储和读取我们数据的函数

Basic data persistence and storage 在本文中,我们将探索OpenCV中存储和读取我们的数据的函数。在许多应用中,比如校准(calibration)或者机器学习,我们需要处理数据计算,就需要保存结果以备下一个执行阶段重新获取。为此,OpenCV提供了一个XML/YAML保持层(persistence layer)。1. 写入文件存储(Write to a file storage) 要将OpenCV数据或者其它数值数据写...
堆(Heap)的实现

堆(Heap)的实现

这次实现了堆,这个堆不是指系统堆栈的堆,是一种数据结构,见下图堆的本质就是一个数组(上图中,红色的是值,黑色的是下标)简单的来说就是把一个数组看成是二叉树,就像上图大堆和小堆分别是指根节点比孩子节点的值大或者是小,看了上图之后就可以发现,父亲节点和孩子节点之间下表的关系,parnet=(child-1)/2利用这个关系就可以实现堆了,堆的基本方法有构造,析构,插入,删除,像大堆小堆这样特殊的堆肯定是要有调整函数来保持他们的特性的,所以我还写了向上调整和向下...
C/C++ 对常见字符串库函数的实现

C/C++ 对常见字符串库函数的实现

在C中的string.h头文件中存在很多对字符串进行操作的函数,利用这些函数可以方便的对字符串进行操作。下面将对常见的字符串函数进行解释和实现。strcpy函数原型:char* _strcpy(char* dest,char* src)函数功能:将str所指由nullptr的字符串复制到dst所指的数组中,并返回dest的指针。函数说明:保证src和dest所指内存区域不能重叠且dest必须有足够的空间来容纳src的字符串。函数实现char* _strcp...
多态实现之虚函数

多态实现之虚函数

多态的实现分为静态多态和动态多态,静态多态主要靠函数重载,动态多态主要靠虚函数当类中声明了虚函数之后,该类的内存映像会获得一个虚表指针,叫做_vfptr指向该类的虚表,下面的我测试使用的类图(有的没必要的东西没有写)这里恰好还是一个菱形继承,但是就像我之前说的虚继承和虚表关系不大,所以单继承也是可以测试的其中高亮的部分就是虚表指针,用内存窗口就可以看到虚表中存放的东西了,每一个多态类的对象都有一个自己的虚表指针,并且多继承的对象会有多个_vptr指针m和m...
STL库的内存配置器(allocator)

STL库的内存配置器(allocator)

正在学习中,如果有错,还请多多指教,根据不断的理解,会进行更改,更改之前的样子都会保留下来,记录错误是最大的进步,嗯嗯!STL源码剖析简体中文完整版(高清晰扫描带目录)PDF 下载地址 http://www.linuxidc.com/Linux/2016-04/129761.htm具有次配置力的SGI空间配置器(SGI是STL的一种版本,也有其他的版本)这里我就不贴出来具体成员和接口的实现了,网上可以搜到STL的源码C++中,new一个变量可以分为两个阶段...
Java反射库中的安全漏洞在30个月后终于修复了

Java反射库中的安全漏洞在30个月后终于修复了

2013年7月,安全组织Security Explorations发现了Java 7u25中的一个安全漏洞,通过这个漏洞攻击者可以完全摆脱Java沙箱。Oracle在更新的7u40中包含了一个补丁,但是据Security Explorations 在今年早些时候声称,这个补丁仅仅在理念上对其进行了修正,对代码稍加修改之后,依然可以利用这个漏洞。另外,随后的研究表明这个漏洞甚至比最初报道的更加严重。在这个问题公开之后,Oracle发布了一个补丁,作为8u77...
菱形继承问题(钻石问题)

菱形继承问题(钻石问题)

我看到网上有很多人都在说虚继承和虚表的关系,我一直很郁闷,虚继承和虚表没有什么太大的关系,虚表是当有虚函数出现的时候才会有的,光是使用虚继承是不会有虚表的!当然也就不会有虚表指针!!从我后面的截图可以看到使用虚继承对象的内存构造中并没有出现虚表指针!跟虚继承有关的是一个虚基类表(vbptr),这个表在调试的监视窗口是看不见的,但有了虚继承之后使用sizeof可以明显看出,类型所占内存的大小扩大了4个字节!况且问题就不一样好么?虚继承解决的是二义性的问题,而...
赛门铁克核心杀毒引擎存在高危漏洞

赛门铁克核心杀毒引擎存在高危漏洞

杀毒软件本身存在安全漏洞早已不是新鲜事,最新一个曝出高危漏洞的杀毒软件是赛门铁克。它的核心杀毒引擎在解析用aspack早期版本打包的可执行文件时会发生缓冲溢出。赛门铁克核心杀毒引擎被Symantec和Norton品牌的产品广泛使用。该漏洞编号为CVE-2016-2208,是一个远程代码执行漏洞,可通过向受害者发送包含文件的邮件或链接利用。在Linux、Mac或UNIX平台上,它会导致远程堆溢出;在Windows上,它会导致内核内存损坏,因为杀毒软件的扫描引...
二叉树的前序中序后序遍历(当然是非递归的!)

二叉树的前序中序后序遍历(当然是非递归的!)

二叉树的三种遍历方式一直都是为人津津乐道的面试题,考察一个人对递归的理解让他写个三种遍历方式是最简单的考察方式了,那么考察一个人对递归的理解更加深层次的方式就是让他用循环模拟递归(就是把递归代码转换成非递归),一般想要实现这样的东西是需要栈的,或许说使用栈的结构更加贴合函数栈的压入和弹出,更加好理解递归的三种遍历方式分别为,前序遍历,中序遍历,后序遍历,在考虑完了递归的写法之后,非递归的写法更加难;相关阅读:二叉树的常见问题及其解决程序 http://ww...
智能指针的实现

智能指针的实现

看到了迭代器这里,想到了应该把智能指针的知识总结一下了,我实现了三种智能指针,分别是auto_ptr,scoped_ptr,shared_ptr命名是根据boost库中的智能指针命名的什么是智能指针?智能指针可以帮助你在忘记释放new出来的内存的时候自动帮助你释放内存可以有效避免内存泄漏例如当异常出现,跳转之后。。。内存是应该被释放的呀,一直抓住人家不放会造成内存泄漏哦智能指针就是RAII(资源分配即初始化)一种典型的应用利用类的构造函数和析构函数来进行内...
<< 2441 2442 2443 2444 2445 2446 2447 2448 2449 2450 >>