![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++
文章平均质量分 72
susandebug
keep moving
展开
-
linux多线程-互斥&条件变量与同步
多线程代码问题描述我们都知道,进程是操作系统对运行程序资源分配的基本单位,而线程是程序逻辑,调用的基本单位。在多线程的程序中,多个线程共享临界区资源,那么就会有问题:比如#include <pthread.h>#include <unistd.h>#include <stdio.h>#include <stdlib.h>i...转载 2018-12-05 16:06:33 · 402 阅读 · 0 评论 -
对深拷贝与浅拷贝的再次理解
对深拷贝与浅拷贝的再次理解 记得11年底找工作的时候,面试时曾经遇到有面试官问的对深拷贝与浅拷贝的理解,那时候自己回来查了资料,写了篇博客,感觉自己理解了,其实理解的不深刻,最近在调试bug的时候,再次遇到深拷贝与浅拷贝,认真分析了,写写自己的心得吧。 先说下自己的理解吧,浅拷贝,即在定义一个类A,使用类似A obj; A obj1(obj);或者A obj1转载 2015-08-27 15:32:13 · 400 阅读 · 0 评论 -
C++三法则:如果需要析构函数,则一定需要拷贝构造函数和赋值操作符
C++三法则:如果需要析构函数,则一定需要拷贝构造函数和赋值操作符如何理解这句话,首先,从“如果需要析构函数”这里我们知道,类中必然出现了指针类型的成员(否则不需要我们写析构函数,默认的析构函数就可以用了),所以,我们需要自己写析构函数来释放给指针所分配的内存来防止内存泄露,那么为什么说“一定需要拷贝构造函数和赋值操作符”呢,原因还是这样:类中出现了指针类型的成员。有指针类型的成员,我们必须防转载 2015-08-27 15:36:59 · 1409 阅读 · 0 评论 -
使用shared_ptr实例
今天把C++primer书上的一道实例实现了一下,理解了shared_ptr的用法在这个例子中避免了vector和set等的复制,提高了效率实例功能:输入:一个file,一个word输出:该word在此file中出现的次数,以及该word所在的行,一行中若多次出现该word,只计数一次// smart Pointer.cpp : 定义控制台应用程序的入口点。//#incl原创 2015-08-26 19:00:22 · 1238 阅读 · 0 评论 -
istringstream的用法
今天看到了一个比较有用的c++的输入输出控制类。C++引入了ostringstream、istringstream、stringstream这三个类,要使用他们创建对象就必须包含这个头文件。istringstream类用于执行C++风格的串流的输入操作。ostringstream类用于执行C风格的串流的输出操作。strstream类同时可以支持C风格的串流的输入输出操作。ist转载 2015-08-26 18:40:59 · 822 阅读 · 0 评论 -
C++11新特性学习笔记
最近学习了C++11的新特性,将学习内容整理下来以巩固记忆,C++11的新特性,可以分为两部分,第一部分是C++11核心语言的特性,第二部分是STL标准库的新特性。学习C++11主要参考了wiki上的一篇文章,在介绍右值引用的时候还参考了MSDN上一篇文章,由于这两篇文章写的时间比较早,和实际有些出入,我的开发环境是win8,vs2012,很多C++11特性还没支持,所以只整理了vs2012已经支转载 2015-08-26 09:24:28 · 384 阅读 · 0 评论 -
到C++11中的智能指针
到C++11中的智能指针原文链接:到C++11中的智能指针,转发请注明来源!千呼万唤始出来上一篇《从auto_ptr说起》中详细的总结了C++98标准中的auto_ptr,但是随着C++11的到来,auto_ptr已经不再了,即将成为历史;好的东西总是会受到大家的欢迎的,随着大家都在使用“准”标准库boost中的shared_ptr;C++标准委员会终于觉的是时候将转载 2015-08-26 18:51:06 · 505 阅读 · 0 评论 -
C++11新特性之Lambda函数
我是搞C++的一直都在提醒自己,我是搞C++的;但是当C++11出来这么长时间了,我却没有跟着队伍走,发现很对不起自己的身份,也还好,发现自己也有段时间没有写C++代码了。今天看到了C++中的Lambda表达式,虽然用过C#的,但是C++的,一直没有用,也不知道怎么用,就可怜的连Lambda语法都看不懂。好了,这里就对C++中的Lambda进行一个简单的总结,就算是对自己的一个交代,我是搞转载 2015-08-26 18:46:14 · 375 阅读 · 0 评论 -
最短路径—Dijkstra算法和Floyd算法
http://www.cnblogs.com/biyeymyhjob/archive/2012/07/31/2615833.html最短路径—Dijkstra算法和Floyd算法Dijkstra算法1.定义概览Dijkstra(迪杰斯特拉)算法是典型的单源最短路径算法,用于计算一个节点到其他所有节点的最短路径。主要特点是以起始点为中心向外层层扩展,直到扩展到终点为止转载 2015-07-11 22:14:47 · 2106 阅读 · 0 评论 -
STL Associative Containers Types:map、set、multimap、mutilset以及对应的unordered类型
相信有不少同学和我一样刚接触C++ STL,被其深深吸引。但是想弄懂每个模板类不是一个容易事。大家应该对vector、list、stack、queue等类比较了解了,所以今天详细介绍下几个很常用很强大但有点不太好懂的类map、multimap、unordered_map、unordered_multimap。乍一看都差不多都是什么map,但这肯定有所不同。下面就在一个一个讲解的同时,让大家了解这四转载 2015-06-23 19:11:08 · 690 阅读 · 0 评论 -
拷贝构造函数的参数为什么必须使用引用类型——避免拷贝死循环
#include class CExample{int m_nTest;public:CExample(int x):m_nTest(x) //带参数构造函数{ cout << "constructor with argument\n";}CExample(const CExample & ex) //拷贝构造函数{ m_nTest = ex.m_nTest;转载 2015-08-27 16:00:58 · 1950 阅读 · 0 评论 -
如何评价 C++11 的右值引用(Rvalue reference)特性
如何评价 C++11 的右值引用(Rvalue reference)特性本文转自知乎...http://www.zhihu.com/question/22111546个人认为,右值引用是C++11中最细微却最重要的改动。即使不直接使用,也一样能够从中受益。同时右值引用还使更多的标准库功能成为可能,例如std::unique_ptr、std::function等。@王潜升 提转载 2015-08-28 15:04:07 · 638 阅读 · 0 评论 -
C++11新特性之名词解释
前面的博客一只在说c++,现在来看一下c++新标准,在维基百科中已经给出了详细说明,可以去看一下。C++11的设计目标是:1.使得c++成为更好的适用于系统开发及库开发的语言。2.使得c++成为更易于教学的语言。3.保证语言的稳定性,以及和C++03及c语言的兼容性。c++11 的增强点,主要包括:1.通过内存模型,线程,原子操作等来支持本地并行编程转载 2015-08-28 15:33:00 · 628 阅读 · 0 评论 -
自行编写strcpy()函数和memcpy()函数
strcpy:直接将strSrc复制给strDest,而不考虑Dest原来的内容。memcpy:将strSrc的前count个元素复制给Dest的前count个元素。// strcpy.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include #include //using namespace std;char* mystrcpy原创 2016-05-27 16:43:39 · 494 阅读 · 0 评论 -
常用的字符串和数字之间的转换函数
字符串转数字:atoi:字符串转整形数字atof:字符串转浮点型atol:字符串转长整型数字转字符串:itoa:整形数字转字符串ltoa:长整形数字转字符串原创 2016-05-27 16:19:45 · 754 阅读 · 0 评论 -
自行编写strcpy()函数
#include "stdafx.h"#include #include //using namespace std;char* strcpy(char* strDest,char* strSrc){ assert((strDest!=NULL) && (strSrc!=NULL)); if(strDest==strSrc) return strDest; char * addr原创 2016-05-27 16:14:33 · 1271 阅读 · 0 评论 -
TopSort(拓扑排序)中DFS和BFS的应用
图的搜索:深度优先搜索:下面图中的数字显示了深度优先搜索顶点被访问的顺序。为了实现深度优先搜索,首先选择一个起始顶点并需要遵守三个规则:(1) 如果可能,访问一个邻接的未访问顶点,标记它,并把它放入栈中。(2) 当不能执行规则1时,如果栈不空,就从栈中弹出一个顶点。(3) 如果不能执行规则1和规则2,就完成了整个搜索过程。广度优先搜索:在深度优先搜索中,算法原创 2015-07-11 21:39:28 · 12866 阅读 · 1 评论 -
关键字static/const的作用
这个简单的问题很少有人能回答完全。在C语言中,关键字static有三个明显的作用:1)在函数体内,一个被声明为静态的变量在这一函数被调用过程中维持其值不变(该变量存放在静态变量区)。2) 在模块内(但在函数体外),一个被声明为静态的变量可以被模块内所用函数访问,但不能被模块外其它函数访问。它是一个本地的全局变量。3) 在模块内,一个被声明为静态的函数只可被这一模块内的其它函转载 2016-03-02 17:13:52 · 436 阅读 · 0 评论 -
国外牛人总结的机器学习领域的框架、库以及软件
本文汇编了一些机器学习领域的框架、库以及软件(按编程语言排序)。C++计算机视觉CCV —基于C语言/提供缓存/核心的机器视觉库,新颖的机器视觉库OpenCV—它提供C++, C, Python, Java 以及 MATLAB接口,并支持Windows, Linux, Android and Mac OS操作系统。通用机器学习MLPackDLib转载 2015-10-13 09:49:35 · 5198 阅读 · 2 评论 -
Singleton
面试中的Singleton 引子 “请写一个Singleton。”面试官微笑着和我说。 “这可真简单。”我心里想着,并在白板上写下了下面的Singleton实现: 1 class Singleton 2 { 3 public: 4 static Singleton& Instance() 5 { 6 static转载 2015-09-21 17:02:59 · 466 阅读 · 0 评论 -
C++四种类型转换的关键字及其特点
C++四种类型转换的关键字及其特点原文地址:http://blog.sina.com.cn/s/blog_5a2bbc860101hgho.htmlC++的四种强制类型转换,所以C++不是类型安全的。关键字分别为:static_cast , dynamic_cast , const_cast , reinterpret_cast为什么使用C风格的强制转换可以把想要的任何东西转换成合转载 2015-09-21 15:08:07 · 3327 阅读 · 0 评论 -
右值引用和move语义
右值引用和move语义右值引用什么是lvalue, 什么是rvalue?lvalue: 具有存储性质的对象,即lvalue对象,是指要实际占用内存空间、有内存地址的那些实体对象,例如:变量(variables)、函数、函数指针等。rvalue:相比较于lvalue就是所谓的没有存储性质的对象, 也就是临时对象。也可以这样理解:转载 2015-08-28 15:28:27 · 708 阅读 · 0 评论 -
常见的hash函数
简介哈希方法学哈希函数和素数位偏向各种形式的哈希常用的哈希函数各版本哈希代码下载简介哈稀函数按照定义可以实现一个伪随机数生成器(PRNG),从这个角度可以得到一个公认的结论:哈希函数之间性能的比较可以通过比较其在伪随机生成方面的比较来衡量。一些常用的分析技术,例如泊松分布可用于分析不同的哈希函数对不同的数据的碰撞率(collision rate)。一转载 2015-06-23 18:56:45 · 943 阅读 · 0 评论 -
hash算法学习
hash算法hash算法其实就是hash函数,也称散列函数,它讲任意长度的输入变换成固定长度的输出,该输出称为散列值(键值)。这种转换是一种压缩映射,也就是,散列值的空间通常远小于输入的空间,不同的输入可能会散列成相同的输出,而不可能从散列值来唯一的确定输入值。简单的说就是一种将任意内容的输入转换成相同长度输出的加密方式。hash函数建立键值与真实值之间的对应关系,(每一个真实值只能有原创 2015-06-23 17:18:37 · 878 阅读 · 0 评论 -
C++ 无法解析的外部符号
转自:http://blog.csdn.net/enotswn/article/details/5934938在使用vs2008调试程序的过程中,经常会出现无法解析的外部符号问题,可能的原因有很多种,下面这些是我一年来积累的经验.仅供参考.考虑可能的原因:[0]出现无法解析可能是因为lib文件不正确,比如64位的编译配置,结果使用的是32位的lib包.[转载 2015-06-17 18:25:41 · 2223 阅读 · 0 评论 -
C++中Txt文件读取和写入
C++中Txt文件读取和写入C++文件的读取和写入#include #include #include using namespace std;int main(){char buffer[256];ifstream myfile ("c:\\a.txt");ofstream outfile("c:\\b.txt");if(!myfile){cout转载 2014-05-07 10:24:23 · 944 阅读 · 0 评论 -
标准C++中的string类的用法总结
标准C++中的string类的用法总结相信使用过MFC编程的朋友对CString这个类的印象应该非常深刻吧?的确,MFC中的CString类使用起来真的非常的方便好用。但是如果离开了MFC框架,还有没有这样使用起来非常方便的类呢?答案是肯定的。也许有人会说,即使不用MFC框架,也可以想办法使用MFC中的API,具体的操作方法在本文最后给出操作方法。其实,可能很多人很可能会忽略掉标准C+转载 2014-04-19 16:52:58 · 522 阅读 · 0 评论 -
OpenCV——Delaunay三角剖分
转载请注明:http://blog.csdn.net/raby_gyl/article/details/17409717相关文章:OpenCV三角剖分的遍历和纹理映射:http://blog.csdn.net/raby_gyl/article/details/19758167Delaunay三角剖分是1934年发明的将空间点连接为三角形,使得所有三角形中最小转载 2014-05-05 10:44:40 · 4201 阅读 · 0 评论 -
C++中数字与字符串之间的转换
1、字符串数字之间的转换(1)string --> char * string str("OK"); char * p = str.c_str();(2)char * -->string char *p = "OK"; string str(p);(3)char * -->CString char *p ="OK"; CSt转载 2014-04-19 16:54:53 · 756 阅读 · 0 评论 -
C/C++中算法运行时间的三种计算方式
C/C++中算法运行时间的三种计算方式算法执行时间需通过依据该算法编制的程序在计算机上运行时所消耗的时间来度量。而度量一个程序的执行时间通常有两种方法。事后统计的方法:该方法利用计算机内部的计时功能,可以精确到毫秒级别,这种方法有两个缺点:一是必须依据算法先编写好程序;二是运行程序的软硬件环境易喧宾夺主,掩盖算法本身的优劣。但是有时候在同一台机器上,想对不同算法进行比较或是想知道一个程转载 2014-03-17 16:47:03 · 2571 阅读 · 0 评论 -
运动目标检测跟踪各过程算法综述
图像预处理数字图像中的几种典型噪声有:高斯噪声来源于电子电路噪声和低照明度或高温带来的传感器噪声;椒盐噪声类似于随机分布在图像上的胡椒和盐粉微粒,主要由图像切割引起或变换域引起的误差;加性噪声是图像在传输中引进的信道噪声。一般来说,引入的都是加性随机噪声,可以采用均值滤波、中值滤波、高斯滤波等方法去除噪声,提高信噪比。均值滤波在噪声分布较平均,且峰值不是很高的情况下能够得到较好的应用;中值原创 2014-02-24 11:01:10 · 2060 阅读 · 0 评论 -
cvRect 和IplImage 和cvMat
for( i = 0; i total : 0); i++ ) { CvRect* r = (CvRect*)cvGetSeqElem( faces, i ); cvSetImageROI(img, *r ); IplImage *smallface=cvCreateImage( cvSize(r->width,r->height), 8, 3 ); cvCopy(img,原创 2014-02-24 11:00:05 · 1321 阅读 · 0 评论 -
extract indecies 源码 为什么reader读不进去pcd文件呢?我想是否因为配置问题?
#include "stdafx.h"#include #include #include #include #include #include #include #include #include #include intmain (int argc, char** argv){ sensor_msgs::PointCloud2::Ptr原创 2014-02-23 10:54:15 · 1306 阅读 · 0 评论 -
Debug Assertion Failed!
原文地址: Assertion Failed!" style="text-decoration:none; color:rgb(34,85,15)">Debug Assertion Failed!作者:一廉幽梦 VC++调程序出现如下错误: Debug Assertion Failed! Program: D:wyuStuddebu转载 2013-12-24 10:28:24 · 1014 阅读 · 0 评论 -
vtk CellPointNeighbors.cxx
原文转自:http://www.paraview.org/Wiki/VTK/Examples/Cxx/PolyData/CellPointNeighbors转载 2014-05-07 20:39:12 · 1323 阅读 · 0 评论 -
VTK/ExamplesBoneyard/Cxx/PolyData/AddLineToPolydata
原文转自:http://www.paraview.org/Wiki/VTK/ExamplesBoneyard/Cxx/PolyData/AddLineToPolydata转载 2014-05-07 20:46:18 · 880 阅读 · 0 评论 -
VTK/Examples/Cxx/PolyData/VertexConnectivity
原文转自:http://www.paraview.org/Wiki/VTK/Examples/Cxx/PolyData/VertexConnectivity转载 2014-05-07 20:42:38 · 1274 阅读 · 0 评论 -
微软编程之美2014挑战赛之题目2 : 大神与三位小伙伴 题解
大神与三位小伙伴时间限制:2000ms单点时限:1000ms内存限制:256MB描述L国是一个有着优美景色且物产丰富的国家,很多人都喜欢来这里旅游并且喜欢带走一些纪念品,大神同学也不例外。距离开L国的时间越来越近了,大神同学正在烦恼给她可爱的小伙伴们带什么纪念品好,现在摆在大神同学面前的有三类纪念品A, B, C可以选择,每类纪念品各有N种。其中种类为A_i,原创 2014-06-04 10:23:05 · 853 阅读 · 0 评论 -
三角网格数据结构
原文地址: http://www.cnblogs.com/chnhideyoshi/p/Mesh2.html超好的文转载 2014-05-12 16:46:07 · 1101 阅读 · 0 评论 -
计算三角网格的顶点法向量
http://blog.csdn.net/bugrunner/article/details/5306866转载 2014-05-12 09:43:07 · 3758 阅读 · 0 评论