C++
欢乐的工科小硕
这个作者很懒,什么都没留下…
展开
-
【opencv】特征点提取和匹配的通用方法
2013: 订阅原文网址:http://cncncv.blog.163.com/blog/static/206181026201232444017471/OpenCV在新版本中把很多C语言的代码都重新整理成了C++代码,让我们在使用的时候更加方便灵活。其中对于特征点的提取和匹配,充分体现了C++的强大。下面直接用例子来说明。假设我们有两幅图:原创 2013-12-15 14:53:38 · 1923 阅读 · 0 评论 -
【C++】进程和线程
一. 1.定义进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立单位.线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位.线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器,一组寄存器和栈),但是它可与同属一个进程的其他的线程共享进程所拥有的全部资源. 2.关系原创 2016-02-23 10:57:16 · 551 阅读 · 0 评论 -
【C++】友元函数
1.友元函数的简单介绍1.1为什么要使用友元函数在实现类之间数据共享时,减少系统开销,提高效率。如果类A中的函数要访问类B中的成员(例如:智能指针类的实现),那么类A中该函数要是类B的友元函数。具体来说:为了使其他类的成员函数直接访问该类的私有变量。即:允许外面的类或函数去访问类的私有变量和保护变量,从而使两个类共享同一函数。实际上具体大概有下面两种情况需要使用友元函数:(1)运算原创 2016-02-23 10:59:43 · 374 阅读 · 0 评论 -
【C++】static关键字的作用
在C语言中,static的字面意思很容易把我们导入歧途,其实它的作用有三条。(1)先来介绍它的第一条也是最重要的一条:隐藏。当我们同时编译多个文件时,所有未加static前缀的全局变量和函数都具有全局可见性。为理解这句话,我举例来说明。我们要同时编译两个源文件,一个是a.c,另一个是main.c。下面是a.c的内容char a = 'A'; // global variablev原创 2016-02-23 11:04:57 · 306 阅读 · 0 评论 -
【C++】public protected private
第一:private, public, protected访问标号的访问范围。private:只能由1.该类中的函数、2.其友元函数访问。不能被任何其他访问,该类的对象也不能访问。protected:可以被1.该类中的函数、2.子类的函数、以及3.其友元函数访问。但不能被该类的对象访问。public:可以被1.该类中的函数、2.子类的函数、3.其友元函数访问,也可以原创 2016-02-23 14:12:30 · 379 阅读 · 0 评论 -
二叉树的基础知识
二叉树:1. 定义:二叉树是一个连通的无环图,并且每一个顶点的度不大于3。有根二叉树还要满足根结点的度不大于2。有了根结点之后,每个顶点定义了唯一的父结点,和最多2个子结点。然而,没有足够的信息来区分左结点和右结点。如果不考虑连通性,允许图中有多个连通分量,这样的结构叫做森林。2. 基本概念:二叉树是递归定义的,其结点有左右子树之分,逻辑上二叉树的结点有五种基本形态原创 2016-02-25 09:53:17 · 777 阅读 · 0 评论 -
【C++】C++中常用的数据类型转换
1. int, float 转CstringCString m_StrtempMax="最大灰度值:";CString csTemp=_T("");//int convert to Cstringint ntemp=10;csTemp.Format(_T("%d"),ntemp);//float convert to Cstringfloat ftemp=10.5;原创 2016-02-25 10:02:57 · 996 阅读 · 0 评论 -
【C++】c++写Excel文件
ofstream oufSave; oufSave.open("a.xls"); if (!oufSave) { return; } //写TAB键为\t,写换行为endl; oufSave<<"11111"<<"\t"<<"sssss"<<endl; oufSave<<"222"<<endl;原创 2016-02-25 10:07:46 · 1323 阅读 · 0 评论 -
【C++】map容器的使用方法
#include #include map mapTest; //添加元素 mapTest.insert(make_pair(1, 1)); //查找元素 map::iterator iterMap2; iterMap2 = mapTest.find(1); iterMap2->first; iterMap2->second map::iterator iterM原创 2016-02-25 10:08:42 · 1019 阅读 · 0 评论 -
【C++】创建动态的文本编辑框
if (m_VectFloodImages.empty()) { return; } //show curve images m_LVT_Basic->m_showFloodCurve=true; CRect oRect; this->GetClientRect(oRect); int nWidth=oRect.Width(); int nHeigth=o原创 2016-02-25 10:19:01 · 3804 阅读 · 1 评论 -
【C++】二维数组的初始化
int aa[10][5];//不需要释放资源//methond 1 int nrows=10; int ncols=5; int ** a=new int *[nrows]; for (int i=0;i<nrows;i++) { a[i]=new int[ncols];//每一行分配资源 }//method 2 int ** a=new int *[nrows*ncol原创 2016-02-25 10:26:42 · 2229 阅读 · 0 评论 -
【C++】获得窗口和控件的句柄
1.获得窗口句柄 this.GetSafeHwnd();2.获得控件句柄 CEdit m_edit1; HWND hd=m_edit1->GetSafeHwnd();原创 2016-02-25 10:27:41 · 5828 阅读 · 1 评论 -
【C++】判断本地文件是否存在
LVT_RETURN_STATUS CLVTBasicFunction::sp_IsFileExists(CString strPath){ //获取同级目录下的DICOM文件 CString tempFile=strPath.Left(strPath.ReverseFind('.')); tempFile+=".dcm"; if (PathFileExists(tempFile))原创 2016-02-25 10:28:32 · 1074 阅读 · 0 评论 -
【VTK】VTK中设置默认的三维切片方向
//切面提取的默认方向//Z(default) axial 横断面 static double axialX[3]={ 1, 0, 0}; static double axialY[3]={ 0, 1, 0}; static double axialZ[3]={ 0, 0, 1};// Y coronal 冠状面static double coronalX[3]={ 1, 0,原创 2016-02-25 10:29:26 · 2327 阅读 · 0 评论 -
【C++】普通函数、虚函数和纯虚函数
首先:强调一个概念定义一个函数为虚函数,不代表函数为不被实现的函数 定义他为虚函数是为了允许用基类的指针来调用子类的这个函数定义一个函数为纯虚函数,才代表函数没有被实现 定义他是为了实现一个接口,起到一个规范的作用,规范继承这个 类的程序员必须实现这个函数。对继承的影响: 普通的类(没有虚函数,纯虚函数)就可以被继承,而且工作的相当好原创 2016-02-23 10:53:37 · 868 阅读 · 0 评论 -
【C++】构造函数和析构函数
一、构造函数的介绍 1. 构造函数的作用 构造函数主要用来在创建对象时完成对对象属性的一些初始化等操作, 当创建对象时, 对象会自动调用它的构造函数。一般来说, 构造函数有以下三个方面的作用: ■ 给创建的对象建立一个标识符; ■ 为对象数据成员开辟内存空间; ■ 完成对象数据成员的初始化。原创 2016-02-23 10:45:37 · 385 阅读 · 0 评论 -
<MFC_8>2D游戏效果之五:一个跑酷游戏的小Demo
转载 :http://blog.csdn.net/crocodile__/article/details/17357533本文由BlueCoder编写 转载请说明出处:http://blog.csdn.net/crocodile__/article/details/17228209我的邮箱:bluecoder@yeah.net 欢迎大家和我交流编转载 2013-12-19 09:21:45 · 1529 阅读 · 0 评论 -
C++文件(夹)选择对话框
原文:http://blog.csdn.net/xdrt81y/article/details/14225113由于各种应用,我们需要调用系统的打开文件对话框或者打开文件夹对话框,或两者兼有。今遇到这个情况已经解决,特写下这篇博文。1.打开文件对话框常用的方法是使用系统的CFileDialog。这里介绍另外一种方法就是使用OPENFILENAME这个结构体和GetOpenFil转载 2014-02-18 11:11:43 · 1060 阅读 · 0 评论 -
12个C++ ico 图标网址
原文:http://chuangxin.umiwi.com/2011/0801/24783.shtml在这里整理了12个Icon资源站点,和大家分享。1.FindIcons.com就是一个帮您找免费图标的图标搜索引擎。有3000多套图片集和30多万个免费Icon资源。链接:http://findicons.com/2.IconFinder是我个人最喜转载 2014-03-13 13:21:19 · 2777 阅读 · 0 评论 -
【c++】C#调用C++ DLL 托管方式
最近在做C# 调用DLL,发现原创 2014-04-21 10:56:06 · 1018 阅读 · 0 评论 -
【c++】C++静态库与动态库
发现一篇讲解动态库和静态库的文章,原创 2014-04-28 16:21:40 · 962 阅读 · 0 评论 -
【c++】注册OCX控件
几种注册OCX控件的方法。一. 如果是自己编写的程序,可以以管理员身份打开VS,编译通过后即注册成功。二.在 控制面板->用户帐户和家庭安全->用户帐户->更改用户帐户控制设置->设为从不通知(可能会有危险)三.附件->命令提示符,输入对应的OCX进行注册 输入 regsvr32 name.ocx 四.使用.bat文件进行注册.新建txt文档,在文档中输入要注册的OCX的名字原创 2014-08-26 11:03:59 · 2289 阅读 · 0 评论 -
【c++】C++编写OCX控件
使用C++ 编写OCX控件,并在C# Winform中使用原创 2014-08-26 10:48:46 · 4420 阅读 · 0 评论 -
C++ ofstream和ifstream
ofstream是从内存到硬盘,ifstream是从硬盘到内存,其实所谓的流缓冲就是内存空间; 在C++中,有一个stream这个类,所有的I/O都以这个“流”类为基础的,包括我们要认识的文件I/O,stream这个类有两个重要的运算符: 1、插入器( 向流输出数据。比如说系统有一个默认的标准输出流(cout),一般情况下就是指的显示器,所以,cout 2、原创 2014-08-15 15:12:05 · 805 阅读 · 0 评论 -
SVN本地目录创建及使用
在本地计算机上已装SVN后,创建SVN目录Repository。1. 在本地新建文件夹CSDN,右键单击文件夹弹出对话框,选中”Creat repository here”。2. 弹出对话框,选择“creat folder structure”,点击ok,此时,SVN根目录已经成功创建在本地,CSDN文件夹的图标发生改变,右键单击CSDN图标选择”Repo-browse原创 2014-11-25 15:17:16 · 7406 阅读 · 1 评论 -
【OpenCV】边缘检测、梯度计算 Sobel Mat
在opencv 中Mat可以进行矩阵运算,Sobel可以求矩阵的梯度,函数接口和参数含义如下:CV_EXPORTS_W void Sobel( InputArray src, OutputArray dst, int ddepth,int dx, int dy, int ksize=3,double scale=1, double delta=0,int borderType=BO原创 2014-12-17 21:20:29 · 6341 阅读 · 1 评论 -
【c++】MFC显示图片
MFC显示图片,动态链接了Opencv库,显示用了drawImage 环境VS2010.新建MFC工程配置好opencv动态链接库,拖入Edit control 控件,进行图片显示。注意修改Edit control 控件的两个属性:Read Only:设为True;Visible:设为False,否则,鼠标移动到图片上时,图片不能显示。资源链接:http://download.cs原创 2014-12-01 17:02:38 · 1755 阅读 · 0 评论 -
【C++】动态生成控件
动态生成控件分为以下步骤:1、建立控件的ID号ID号是控件的标识,矿建控件之前必须为它设置一个ID号方法:View-->Resource View-->String Table-->双击String Table的空白条,弹出对话框。填入ID和caption(caption为控件上显示的内容,不能为空)并在Resource.h 文件中,检查ID号原创 2015-05-22 10:25:22 · 2271 阅读 · 0 评论 -
【C++】 VS2010 打开VS2012 新建的工程
使用VS 2010 打开VS 2012新建的工程:一. 在资源中输入 notepad 并按回车,会新建一个新的txt文档。二. 找到工程的 .sln 文件,将其拖动到新建的txt中,如图所示。 三. 在txt中修改前两行 Vision和Visual Studio,如下图所示。四. Ctrl+S,保存txt文档,重新打开.sln文件。原创 2015-06-08 16:55:47 · 1269 阅读 · 0 评论 -
中英文123456789数字和字母之间的相互转换
#include "stdafx.h"#include #include #include #include #include #include #include #include #include #include #include using namespace std;void Exersize4_6(){ cout<<"这是一个num英文转换程序"<<e原创 2016-02-25 10:30:53 · 3783 阅读 · 0 评论