
C++
文章平均质量分 67
merryken
这个作者很懒,什么都没留下…
展开
-
opencv图像处理常用操作
图像的平滑处理平滑,也称 模糊, 平滑处理时需要用到一个滤波器 。滤波器想象成一个包含加权系数的窗口,这个加权系数也叫做核或者模版。 // 图像平滑处理分而学之.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" #include #include using namespace std; u转载 2015-05-23 11:18:27 · 2128 阅读 · 0 评论 -
memmove、memcpy和memccpy简介
memmove、memcpy和memccpy三个函数都是内存的拷贝,从一个缓冲区拷贝到另一个缓冲区。memmove(void *dest,void*src,int count)memcpy(void *dest,void *src,int count)memccpy(void*dest,void*src,int ch,int count)表头文件: #include 定义函转载 2013-06-24 16:46:42 · 932 阅读 · 0 评论 -
strcpy()、memcpy()、memmove()、memset()的实现
strcpy()、memcpy()、memmove()、memset()的实现 strcpy(), 字符串拷贝.char *strcpy(char *strDest, const char *strSrc){ assert((strDest!=NULL) && (strSrc !=NULL)); char *address = strDe转载 2013-06-24 16:43:56 · 533 阅读 · 0 评论 -
C++中的数据类型转换方法总结
C++中的数据类型转换方法总结摘要:本文总结了C/C++中的多种数据类型转换方法,并比较了各自的优劣。给出了推荐的使用建议。从int到char*,或者反过来从char*到int,在C/C++中到底有多少种转换方法呢?符合标准的大概有四种。即C数据转换函数族、sprintf/snprintf/sscanf函数族、字符串流std::stringstream、std::strsteam。不符合标转载 2013-06-21 15:33:22 · 675 阅读 · 0 评论 -
CString/C++ string常用操作详解
之 所以抛弃char*的字符串而选用C++标准程序库中的string类,是因为他和前者比较起来,不必 担心内存是否足够、字符串长度等等,而且作为 一个类出现,他集成的操作函数足以完成我们大多数情况下(甚至是100%)的需要。我们可以用 = 进行赋值操作,== 进行比较,+ 做串联(是不是很 简单?)。我们尽可以把它看成是C++的基本数据类型。 好了,进入正题………首先,为了在我们的程转载 2013-06-21 12:11:16 · 898 阅读 · 0 评论 -
C语言字符串库函数的实现
C语言字符串库函数的实现也是笔试题常考的题目,以下代码没有严格测试,只是简单的实现://字符串长度int strlen(const char *str) { assert(str != NULL); int len = 0; while (*str ++ != '\0') ++ len; return转载 2013-06-21 12:06:29 · 603 阅读 · 0 评论 -
C语言字符串操作函数
C语言字符串操作函数1. 字符串反转 - strRev2. 字符串复制 - strcpy3. 字符串转化为整数 - atoi4. 字符串求长 - strlen5. 字符串连接 - strcat6. 字符串比较 - strcmp7. 计算字符串中的元音字符个数8. 判断一个字符串是否是回文1. 写一个函数实现字符串反转版本1 - while转载 2013-06-21 12:03:05 · 806 阅读 · 0 评论 -
VC实现线程池
这两天在做关于网络蜘蛛的程序,希望可以通过线程池来提高程序的性能,网上搜索了一下,看到这方面的东西还不少,跟大家分享一下!~有许多应用程序创建的线程花费了大量时间在睡眠状态来等待事件的发生。还有一些线程进入睡眠状态后定期被唤醒以轮询工作方式来改变或者更新状态信息。线程池可以让你更有效地使用线程,它为你的应用程序提供一个由系统管理的工作者线程池。至少会有一个线程来监听放到线程池的所有等待操作,当等待转载 2013-06-07 16:53:20 · 595 阅读 · 0 评论 -
WinSock学习笔记
Socket(套接字)◆先看定义:typedef unsigned int u_int;typedef u_int SOCKET;◆Socket相当于进行网络通信两端的插座,只要对方的Socket和自己的Socket有通信联接,双方就可以发送和接收数据了。其定义类似于文件句柄的定义。◆Socket有五种不同的类型:1、流式套接字(stream socket)转载 2013-05-31 11:57:14 · 523 阅读 · 0 评论 -
memset用法详解(转)
memest原型 (please type "man memset" in your shell) void *memset(void *s, int c, size_t n); memset:作用是在一段内存块中填充某个给定的值,它对较大的结构体或数组进行清零操作的一种最快方法。常见的三种错误第一: 搞反了c 和 n的位置. 一定要记住 如果要把一个cha转载 2013-06-24 17:36:26 · 593 阅读 · 0 评论 -
static、extern、volatile的用法
static的用法: 静态变量作用范围在一个文件内,程序开始时分配空间,结束时释放空间,默认初始化为0,使用时可以改变其值。 静态变量或静态函数只有本文件内的代码才能访问它,它的名字在其它文件中不可见。 用法1:函数内部声明的static变量,可作为对象间的一种通信机制 如果一局部变量被声明为static,那么将只有唯一的一个静态分配的对象,它被用于在该函数的所有调用中表示这个变量转载 2013-06-24 17:40:24 · 682 阅读 · 0 评论 -
MFC中使用FLASH相关
一、准备工作第一步:下载并安装Adobe Flash Player。从官方网站(http://get.adobe.com/cn/flashplayer/)上下载最新的Flash Player(大约为2.66M),并安装。对于Windows 32位系统,其默认安装目录为:C:\WINDOWS\system32\Macromed\Flash\;对于64位系统,为:C:\Wi转载 2014-02-19 14:38:50 · 1480 阅读 · 0 评论 -
Visual C++启动另一个可执行程序的方案
有三个API函数可以运行可执行文件WinExec、ShellExecute和CreateProcess。CreateProcess因为使用复杂,比较少用。 WinExec主要运行EXE文件。如:WinExec(’Notepad.exe Readme.txt’, SW_SHOW); ShellExecute不仅可以运行EXE文件,也可以运行已经关联的文件。 首先必须引用shell转载 2013-09-07 09:45:18 · 1470 阅读 · 0 评论 -
数据结构之链表与数组(三)-单向链表上的简单操作
4 反转单向链表(非递归实现)思路:图1 非递归反转链表 如图1所示,假设已经反转了前面的若干节点,且前一段链表的头节点指针为pre,则现在要做的事情是首先保存当前节点cur后面的链表,然后让当前节点cur的指针与后面的节点断开(step1),接下来再将当前节点的next指针指向前一段链表的头节点pre (step2)。处理完当前节点的连接反转后,所有转载 2013-07-03 13:56:28 · 707 阅读 · 0 评论 -
数据结构之链表与数组(二) -单向链表上的简单操作问题
本文主要介绍一些解决单向链表上部分操作问题的思路和代码实现。 主要的问题包括以下几点: 1 向单向链表中插入一个节点 2 删除单向链表中的一个节点 3 查找单向链表中的一个节点 扩展问题1:查找单向链表中的倒数第k个节点。转载 2013-07-03 13:55:07 · 718 阅读 · 0 评论 -
数据结构之链表与数组(-)——数组和链表的简介
众所周知,在计算机中要对给定的数据集进行若干处理,首要任务是把数据集的一部分(当数据量非常大时,可能只能一部分一部分地读取数据到内存中来处理)或全部存储到内存中,然后再对内存中的数据进行各种处理。 例如,对于数据集S{1,2,3,4,5,6},要求S中元素的和,首先要把数据存储到内存中,然后再将内存中的数据相加。 当内存空间中有足够大的连续空间时,可以把数转载 2013-07-03 12:22:37 · 536 阅读 · 0 评论 -
标准C++中的string类的用法总结
相信使用过MFC编程的朋友对CString这个类的印象应该非常深刻吧?的确,MFC中的CString类使用起来真的非常的方便好用。但是如果离开了MFC框架,还有没有这样使用起来非常方便的类呢?答案是肯定的。也许有人会说,即使不用MFC框架,也可以想办法使用MFC中的API,具体的操作方法在本文最后给出操作方法。其实,可能很多人很可能会忽略掉标准C++中string类的使用。标准C++中提供的str转载 2013-06-30 03:17:04 · 426 阅读 · 0 评论 -
分割字符串(strsplit)
1、分割字符串(strsplit)函数声明:vectorstring> strsplit( const string str, const string delim );参数: str为待分割的字符串 delim为分隔符的集合,注意:对"abcdeafghbi",如果delim是"abd",则结果是"c","e","fgh","i"返回值:转载 2013-06-28 17:31:34 · 1952 阅读 · 0 评论 -
new/delete 和malloc/free 的区别
相同点:都可用于申请动态内存和释放内存不同点:(1)操作对象有所不同。malloc与free是C++/C语言的标准库函数,new/delete是C++的运算符。对于非内部数据类的对象而言,光用maloc/free无法满足动态对象的要求。对象在创建的同时要自动执行构造函数,对象消亡之前要自动执行析构函数。由于malloc/free是库函数而不是运算符,不在编译器控制权限之内,不能够把执行转载 2013-06-25 17:19:56 · 523 阅读 · 0 评论 -
ACM各个阶段的一些要求
转来存着,不知道要接下去看什么的时候就有一个指南了转自http://www.wutianqi.com/?p=274OJ上的一些水题(可用来练手和增加自信)(poj3299,poj2159,poj2739,poj1083,poj2262,poj1503,poj3006,poj2255,poj3094)初期:一.基本算法: (1)枚举. (poj17转载 2013-05-11 15:48:04 · 569 阅读 · 0 评论 -
C/C++ sizeof总结
sizeof,一个其貌不扬的家伙,引无数菜鸟竟折腰,小虾我当初也没少犯迷糊,秉着“辛苦我一个,幸福千万人”的伟大思想,我决定将其尽可能详细的总结一下。但当我总结的时候才发现,这个问题既可以简单,又可以复杂,所以本文有的地方并不适合初学者,甚至都没有必要大作文章。但如果你想“知其然,更知其所以然”的话,那么这篇文章对你或许有所帮助。菜鸟我对C++的掌握尚未深入,其中不乏错误,欢迎各位指正啊1转载 2013-05-08 12:14:50 · 483 阅读 · 0 评论 -
typeid操作符
在揭开typeid神秘面纱之前,我们先来了解一下RTTI(Run-Time Type Identification,运行时类型识别),它使程序能够获取由基指针或引用所指向的对象的实际派生类型,即允许“用指向基类的指针或引用来操作对象”的程序能够获取到“这些指针或引用所指对象”的实际派生类型。在C++中,为了支持RTTI提供了两个操作符:dynamic_cast和typeid。 dyn转载 2013-05-07 22:04:38 · 495 阅读 · 0 评论 -
CCV入门教程(二)
梁登的csdn技术博客1、CCV中涉及到的dll,库的调用关系库Addons目录下ofxKinectCLNUI :包括了采用微软Kinect的设备(如Xbox NUI Audio, NUI Camera, NUI Motor and Accelerometer等)的稳定的驱动程序、SDK和API。ofxopenCV:openCV的库。OpenCV是C/C++的一套函数库,基本上转载 2012-05-11 17:11:13 · 8599 阅读 · 0 评论 -
CCV入门教程(一)
梁登的csdn技术博客一、简介CCV是一个建立在openCV基础上的一个开源的架构,其全称是Community Core Vision。它是一个开源的跨平台计算机视觉和机器感知解决方案。它以视频作为输入流,从中捕捉跟踪到的触点信息,包括事件(手指下压、移动、释放等)及触点坐标,这些信息是构建一个多点触控系统所必须。CCV可以以网络摄像机和视频设备作为输入,也支持基于TUIO/OSC/XML转载 2012-05-11 17:03:34 · 15342 阅读 · 1 评论 -
CCV入门教程(三)
梁登的csdn技术博客3.2 CCV视频处理流程从“2.1 滤波部分相应的代码”并且结合CCV运行界面(附录二)可以看出,CCV处理视频得到触点的流程是a) 背景提取当跟踪到的图像中没有看到手指头时,按下“背景移除按钮”获取背景;如果环境中光线变化常常变化,还需要打开“动态提取”开关。b) 平滑平滑是为了除去噪声干扰(图像去噪),是触点提取过程更加稳定,用专业术语来说是鲁棒转载 2012-05-11 17:41:56 · 6568 阅读 · 0 评论 -
如何运用Adobe AIR与本地程序通讯?
在OATOS开发中,有些模块用Adobe AIR实现,但有些功能仅仅依靠AIR还不能实现,比如:激活和前置浏览器,系统截屏,开启系统服务等等。这个时候我们需要调用本地程序来帮忙实现这些功能,那么必然就会涉及Adobe AIR与本地程序通讯问题:AIR怎么通知本地程序开始工作,要做什么事?做完后,本地程序怎么告诉AIR,并把AIR需要的数据发送过去。以下列举几种我们在OATOS开发过程中使用的方法供转载 2012-04-18 02:18:31 · 2399 阅读 · 0 评论 -
有用博客
1、C++ ,MFC http://blog.youkuaiyun.com/weiqubo 2、C++初学者指南http://blog.youkuaiyun.com/zhangxingping/article/category/863512 3.赖勇浩博客http://blog.youkuaiyun.com/lanphaday?viewmode=contents4、VChttp://blog.原创 2011-12-05 17:51:48 · 417 阅读 · 0 评论 -
C字符串和标准的C++string类
一、C字符串c字符串是char类型的数组。char str[MAX]1.在c++中并没有内置的机制保证程序不会出现数组元素个数超出数组大小的情况。cout2.cin.get():来读取包含空格的文本。这样的语法表示stream类的成员函数get(),而cin是这个转载 2011-09-02 15:29:05 · 960 阅读 · 0 评论 -
C++继承:共有,私有,保护
公有继承(public)、私有继承(private)、保护继承(protected)是常用的三种继承方式。1. 公有继承(public)公有继承的特点是基类的公有成员和保护成员作为派生类的成员时,它们都保持原有的状态,而基类的私有成员仍然是私有的,不能被这个派生类的子类所转载 2011-09-02 15:19:15 · 582 阅读 · 0 评论 -
类中的函数:构造函数
1.构造函数(constructor function):用来实现自动初始化的特殊函数称为构造函数,constructor是一个对象创建时会自动执行的成员函数。1) 构造函数的规定:首先,它与所属的类有着同样的名称其次,构造函数没有返回类型构造函数的初始化列表转载 2011-09-02 16:22:01 · 395 阅读 · 0 评论 -
100个经典算法
C++语言: 临时自用代码POJ上做做ACM的题语言的学习基础,100个经典的算法C语言的学习要从基础开始,这里是100个经典的算法-1C语言的学习要从基础开始,这里是100个经典的算法题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?_____转载 2012-08-22 16:48:39 · 1572 阅读 · 0 评论 -
网络游戏程序员须知 收包与发包
本文为作者原创或翻译,转载请注明,不得用于商业用途。作者:rellikt@gmail.com首发链接:http://blog.youkuaiyun.com/rellikt/archive/2010/08/23/5833233.aspx简介大家好,今天我们就来说说网络游戏程序员须知的第二篇:收包与发包。上一篇中我们比较了UDP和TCP两种协议,最后的结论是我们必须转载 2012-08-22 16:53:33 · 632 阅读 · 0 评论 -
使用STL vector的几种清空容器(删除)办法
vector int> vecInt; for (int i=0;i { vecInt.push_back(i); } int j= vecInt.capacity(); //j=512 i = vecInt.size(); //i=500 第一种办法使用 c转载 2013-05-02 15:12:50 · 1755 阅读 · 0 评论 -
vector.resize 与 vector.reserve的区别
reserve是容器预留空间,但并不真正创建元素对象,在创建对象之前,不能引用容器内的元素,因此当加入新的元素时,需要用push_back()/insert()函数。resize是改变容器的大小,并且创建对象,因此,调用这个函数之后,就可以引用容器内的对象了,因此当加入新的元素时,用operator[]操作符,或者用迭代器来引用元素对象。再者,两个函数的形式是有区别的,reserve函数之原创 2013-05-03 11:38:18 · 600 阅读 · 0 评论 -
50个c/c++源代码网站
1、http://snippets.dzone.com/tag/c/ --数以千计的有用的C语言源代码片段 2、http://www.hotscripts.com/category/c-cpp/scripts-programs/ Hotscripts --提供数以百计的C和C++脚本和程序。所有程序都分为不同的类别。 3、http://www.planetsourcecode.com/转载 2013-04-19 23:57:14 · 561 阅读 · 0 评论 -
(两篇)深入理解C++的动态绑定和静态绑定
第一篇为了支持c++的多态性,才用了动态绑定和静态绑定。理解他们的区别有助于更好的理解多态性,以及在编程的过程中避免犯错误。需要理解四个名词:1、对象的静态类型:对象在声明时采用的类型。是在编译期确定的。2、对象的动态类型:目前所指对象的类型。是在运行期决定的。对象的动态类型可以更改,但是静态类型无法更改。关于对象的静态类型和动态类型,看一个示例:[转载 2013-04-26 14:13:59 · 513 阅读 · 0 评论 -
OpenMP编程指南
OpenMP编程指南进入多核时代后,必须使用多线程编写程序才能让各个CPU核得到利用。在单核时代,通常使用操作系统提供的API来创建线程,然而,在多核系统中,情况发生了很大的变化, 如果仍然使用操作系统API来创建线程会遇到一些问题。具体来说,有以下三个问题:1)CPU核数扩展性问题多核编程需要考虑程序性能随CPU核数的扩展性,即硬件升级到更多核后,能够不修改程序就让程转载 2013-03-19 01:13:53 · 828 阅读 · 0 评论 -
单链表操作大全(图解逆序)
如果说你经常在linux中,或者在kernel下面做事的话,一定会碰到链表的操作。如果你没有真正了解单链表,还是把基础打好吧。如下程序综合了链表的常用方面,请你下自己写出每个函数,debug并运行,直到运行正确;然后对照参考程序,比较程序的差异,有时候,可能你测试不全面,会有这样那样的错误,多思考,这样,你才记忆深刻。[cpp] view plaincopy转载 2013-03-15 12:09:50 · 1357 阅读 · 0 评论 -
四道有趣的单链表面试题(单链表反序、找出链表的中间元素、链表排序、判断一个单链表是否有环)
以下给出链表结点的数据结构:1 typedef struct _list_node2 {3 double keyVal;4 struct _list_node *next;5 }ListNode;Q1 单链表的反序 1 ListNode* reverseList(ListNode* head) 2 { 3 ListNode转载 2013-03-15 11:17:15 · 589 阅读 · 0 评论 -
短时间让大家对C++ STL有所学习
STL概述STL的一个重要特点是数据结构和算法的分离。尽管这是个简单的概念,但这种分离确实使得STL变得非常通用。例如,由于STL的sort()函数是完全通用的,你可以用它来操作几乎任何数据集合,包括链表,容器和数组。要点STL算法作为模板函数提供。为了和其他组件相区别,在本书中STL算法以后接一对圆括弧的方式表示,例如sort()。STL另一个重要特性是它不是面向转载 2013-01-04 10:33:18 · 499 阅读 · 0 评论