mfc/c++/c
文章平均质量分 80
nancy_princess
win!!
Fighting!!
展开
-
k-d tree算法
k-d树(k-dimensional树的简称),是一种分割k维数据空间的数据结构。主要应用于多维空间关键数据的搜索(如:范围搜索和最近邻搜索)。应用背景 SIFT算法中做特征点匹配的时候就会利用到k-d树。而特征点匹配实际上就是一个通过距离函数在高维矢量之间进行相似性检索的问题。针对如何快速而准确地找到查询点的近邻,现在提出了很多高维空间索引结构和近似查询的算法,k-d树就是其中一种。转载 2015-05-24 23:19:45 · 1580 阅读 · 0 评论 -
堆内存访问错误
崩溃到ntdll.dll的问题比较典型的无效指针(非法内存访问),建议先解决符号问题,Google或者参考《软件调试》中关于符号文件的部分...[关闭] ntdll.dll文件分析 ntdll - ntdll.dll - DLL文件信息 DLL 文件: ntdll 或者 ntdll.dll DLL 名称: NT Layer DLL 描述:原创 2014-10-20 16:01:59 · 725 阅读 · 0 评论 -
数字图像处理基础知识总结
8位位图,像素读取需要unsinged charlei'xi原创 2014-11-21 14:14:57 · 1809 阅读 · 0 评论 -
常见的hash算法
简介哈希方法学哈希函数和素数位偏向各种形式的哈希常用的哈希函数各版本哈希代码下载转载 2014-10-30 09:29:43 · 2836 阅读 · 0 评论 -
static_cast, dynamic_cast, const_cast,reinterpret_cast探讨
http://www.cnblogs.com/chio/archive/2007/07/18/822389.html 首先回顾一下C++类型转换:C++类型转换分为:隐式类型转换和显式类型转换第1部分. 隐式类型转换又称为“标准转换”,包括以下几种情况:1) 算术转换(Arithmetic conversion) : 在混合类型的算术表达式中, 最宽的数转载 2014-10-29 02:25:10 · 578 阅读 · 0 评论 -
Cimag 用法总结
CImage 是STL类库里的,用于显示图像的库函数,原创 2014-11-14 13:43:45 · 1936 阅读 · 0 评论 -
数字移位
http://blog.163.com/jiaqiang_wang/blog/static/1188961532009924111934698/http://canlynet.iteye.com/blog/1796889http://blog.csdn.net/gaochizhen33/article/details/7161417http://blog.csdn.net/mustan转载 2014-11-12 14:00:55 · 967 阅读 · 0 评论 -
VC的常用函数汇总
SetWindowPos函数功能:该函数改变一个子窗口,弹出式窗口式顶层窗口的尺寸,位置和Z序。子窗口,弹出式窗口,及顶层窗口根据它们在屏幕上出现的顺序排序、顶层窗口设置的级别最高,并且被设置为Z序的第一个窗口。 函数原型:BOOL SetWindowPos(HWN hWnd,HWND hWndlnsertAfter,int X,int Y,int cx,int cy,UNIT.原创 2014-09-25 17:33:47 · 1596 阅读 · 0 评论 -
C#与C++在语言层面的区别(不断补充)
C#[StructLayout(LayoutKind.Sequential)] 是什么意思??转载 2014-08-15 16:17:15 · 761 阅读 · 0 评论 -
打通 C++ 和 C# 关于 COM 组件互相调用的任督二脉
文章出处:一. 关于从 C# 客户端调用 C++ 非托管代码的方法. 本文不打算叙述, 参看以下文章. http://www.codeproject.com/KB/cs/cominterop.aspx二. 关于从 C++ 客户端调用 C# 托管代码的方法. (一). 非常直接的方法, 参看这篇文章. http://www.co转载 2014-08-14 17:24:49 · 722 阅读 · 0 评论 -
C++ 指针数组与数组指针汇总
float(**def)[10] 如何理解首先,要区分开float (*def)[10]和float *def[10],前者是一个数组指针,指向某个有十个元素的数组;后者是指针数组,数组有十个元素,每个元素都是指向float变量的指针。弄清了这点,就很好理解float (**def)[10]了,即def是一个指针,它指向一个数组指针,而那个数组指针则指向一个有十个float变量的数组。原创 2014-09-19 16:07:31 · 560 阅读 · 0 评论 -
C++类内存分布
书上类继承相关章节到这里就结束了,这里不妨说下C++内存分布结构,我们来看看编译器是怎么处理类成员内存分布的,特别是在继承、虚函数存在的情况下。工欲善其事,必先利其器,我们先用好Visual Studio工具,像下面这样一步一步来: 先选择左侧的C/C++->命令行,然后在其他选项这里写上/d1 reportAllClassLayout,它可以看到转载 2014-09-19 11:04:00 · 644 阅读 · 0 评论 -
函数onsize()与onsizing()区别
OnSize是控件大小发生变化后发给你的消息,你可以得到控件将要变成多大(cx和cy指定),OnSizing是正在改变的大小,例如用户点击着鼠标拖放一个控件的大小,这个时候就收到OnSizing了原创 2014-09-18 16:50:15 · 6199 阅读 · 0 评论 -
C++/mfc错误总结
Debug Assertion Failed!原创 2014-07-08 16:34:58 · 804 阅读 · 0 评论 -
输出第二个字符串在第一个字符串中的次序
#include "stdafx.h"#include using namespace std;#include "string.h"void printPos(char *p_str, char *s_str, int *print_pos, int p_len, int s_len, int print_pos_num, int p_start_num , int s_s原创 2014-07-31 15:23:06 · 878 阅读 · 0 评论 -
char *p=new char
1谢谢指教!可是有一个问题是按理 return p应该返回一个字符,可是我这return p 依然是返回一个字符串, 那么说开辟一个字符空间与开辟一个字符串空间的方法是通用的?--------------------------------------------------------------------------------是通用的,指针这个东西很灵活,在C++的类中你还翻译 2014-06-24 14:47:59 · 1942 阅读 · 0 评论 -
浅谈堆栈问题-C++
在计算机领域,堆栈是一个不容忽视的概念,堆栈是两种数据结构。堆栈都是一种数据项按序排列的数据结构,只能在一端(称为栈顶(top))对数据项进行插入和删除。要点:堆,列队优先,先进先出[1]。栈,先进后出(First-In/Last-Out)。原创 2014-10-13 11:51:47 · 788 阅读 · 0 评论 -
优化C/C++代码的小技巧
无意看到一篇小短文,猜测作者应该是一个图形学领域的程序员或专家,介绍了在光线(射线)追踪程序中是如何优化C/C++代码的。倒也有一些参考意义,当然有的地方我并不赞同或者说我也不完全理解,原文在此,我的粗糙翻译如下: 1. 牢记Ahmdal定律 funccost表示是函数func的运行时间百分比,funcspeedup是你优化后函数的运行系数; 所以,如果函数Trian转载 2014-12-04 16:48:24 · 1065 阅读 · 0 评论 -
算法优化摘录
三角函数优化:sin(x),使用Taylor 级数 time(&t1); double tm2, tm3, tm5, tm7; tm2 = val* val; tm3 = tm2 *val; tm5 = tm2 * tm3; tm7 = tm2 * tm5;for(int i = 0; i < 300000000; i++) { result_good = 0.99原创 2014-12-04 17:48:54 · 880 阅读 · 0 评论 -
对vector等STL标准容器进行排序操作
西方有句谚语:不要重复发明轮子!STL几乎封装了所有的数据结构中的算法,从链表到队列,从向量到堆栈,对hash到二叉树,从搜索到排序,从增加到删除......可以说,如果你理解了STL,你会发现你已不用拘泥于算法本身,从而站在巨人的肩膀上去考虑更高级的应用。排序是最广泛的算法之一,本文详细介绍了STL中不同排序算法的用法和区别。1 STL提供的Sort 算法转载 2015-05-19 10:38:10 · 607 阅读 · 0 评论 -
iostream stdlib fstream io.h 头文件的作用
atoi atof是c语言提供的一个扩展功能,它能将一个字符串转换成对应的float或者integer。使用这些函数时,必须引入头文件#include原创 2015-05-27 14:23:30 · 1765 阅读 · 0 评论 -
string转Char*( error C2440: '=' : cannot convert from 'const char *' to 'char *')
今天遇到一个问题string转char*总是失败提示错误为 error C2440: '=' : cannot convert from 'const char *' to 'char *'源代码为:string temFile;char* filenamecpy;filenamecpy = temFile.data(); 解决方法filenamecpy =原创 2015-05-27 13:31:25 · 12621 阅读 · 0 评论 -
数据结构排序算法总结
一、插入排序 1)直接插入排序 2)折半插入排序 3)希尔排序 二、交换排序 1)冒泡排序 2)快速排序 三、选择排序 1)简单选择排序 2)堆排序 四、归并排序 五、基数排序一、插入排序1)直接插入排序 算法演示 返回目录 时间复杂度:平均情况—O(n2) 最坏情况—O(n2) 辅助空间:O(1转载 2015-05-21 10:08:03 · 906 阅读 · 0 评论 -
work summary(4)
原创 2015-04-02 17:43:25 · 734 阅读 · 0 评论 -
work summary(1)
记录最近工作总结:原创 2015-03-27 15:36:30 · 886 阅读 · 0 评论 -
work summary(3)
最近工作总结:原创 2015-03-27 15:44:19 · 591 阅读 · 0 评论 -
work summary(2)
最近工作总结:原创 2015-03-27 15:37:43 · 610 阅读 · 0 评论 -
.inl是什么文件
*.inl文件是内联函数的源文件,通常内联函数在C++头文件中实现,但有时为了考虑将其实现与头文件分离,故意在另一文件中实现,通常它在声明内联函数的头文件的末尾被#include语句包含进来。由此也可以看到inl文件的例外一个用法的影子——模板函数、模板类的定义代码的存放。对于比较大的工程来说,出于管理方面的考虑,模板函数、模板类的声明部分一般存放在一个或少数几个文件中,而将其定义部分转载 2015-03-05 11:18:39 · 4765 阅读 · 0 评论 -
字符编码:ASCII,Unicode和UTF-8
贴个链接,感觉文章的作者分析的很好。http://www.ruanyifeng.com/blog/2007/10/ascii_unicode_and_utf-8.html原创 2015-03-02 17:25:20 · 652 阅读 · 0 评论 -
谈谈基类与子类的this指针(C++)
记得孙鑫VC++视频教程里有一段剖析MFC的代码,大意就是 CTESTAPP类是CWINAPP的子类,而CTESTAPP创建一个全局对象时,在CWINAPP的构造函数里面用了this指针,但是这里this指针指向的的是CTESTAPP的对象,而不是所在类的对象,也许读者这时候对这个this指针有点糊涂了! 不要怕!马上让你明明白白! 请看下面一段代码:#incl原创 2014-12-31 10:49:46 · 7293 阅读 · 1 评论 -
经理的优化课
算法优化,SSE指令优化(汇编),浮点转整数, 除法倒数再相乘优化,文件头结构体,加减指令周期相同,乘法5-6个指令周期,除法十几个指令周期,多线程优化。原创 2014-11-27 16:10:40 · 1112 阅读 · 0 评论 -
mfc单文档中如何将view的基类由CView转为CScrollview
软件环境visual Studio 2005CScrollView这个类用于需要滚动条的场合。如果我们的程序原来用的是CView类,此时想改成CScrollView类,需要做如下修改第一:在类视图中点击CxxView,然后在其属性列表中点击overide(重载)按钮,可以看到view类的重载函数有哪些,找到OnInitialUpdate重载void CxxView::O原创 2014-12-11 10:05:24 · 3676 阅读 · 0 评论 -
如何在VS2005下生成动态运行时库
如果我们的工程采用的是动态链接MFC库,那我们的程序如果拷贝到一个没有转VC的电脑中,我们的程序要想正确运行,除了拷贝程序外,还要将运行时库拷贝过去,下面记录下如何创建动态运行时库:file-》New-》Project,在弹出的窗口选other Project Types 下的Setup and Deployment,右侧选Setup Project.然后在生成的工程文件中点击右键选A原创 2014-12-25 18:20:31 · 1034 阅读 · 0 评论 -
dll创建及调用(VS2005)
最近改用vs2005做项目,主要写原创 2014-11-06 10:18:07 · 918 阅读 · 0 评论 -
mfc 对话框应用程序 如何利用按钮弹出另一对话框
首先要新增加一个类,父类选CDialog原创 2014-07-08 11:13:15 · 949 阅读 · 0 评论 -
open cv+C++错误及经验总结(十四)
[1] .APS:存放二进制资源的资源辅助中间文件(可加快资源装载速度)。 [2] .BMP:位图资源文件。 [3] .BSC:浏览信息文件。由浏览信息维护工具(BSCMAKE)从原始浏览信息文件(.SBR)中生成,BSC文件可以用来在源代码编辑窗口中进行快速定位。可在project options里去掉Generate Browse Info File,这样可加快编译进度。 [4] .C原创 2014-06-05 10:56:26 · 1460 阅读 · 0 评论 -
偶遇C#
#region是c#预处理器指令。 #region是一个分块预处理命令,它主要用于编辑代码的分段,在编译时会被自动删除。 #region使你可以在使用VS代码编辑器的大纲显示功能时指定可展开或折叠的代码块。 例如: #region MyClass definition public class MyClass翻译 2014-06-05 16:36:17 · 2250 阅读 · 0 评论 -
open cv+C++错误及经验总结(六)
DDX-dialog Data Exchange对话框数据交换DDV-Dialog Data Validation对话框数据校验获得窗口句柄的方法:利用GetNextDlgTabItem函数来实现。GetNextDlgTabItem(HWND hDlg, HWND hCtl, BOOL bPrevious)HWND WINAPI GetNextDlgTabItem( _I原创 2014-03-04 17:46:52 · 2963 阅读 · 0 评论 -
open cv+C++错误及经验总结(二)
颜色缩减方法:如果矩阵元素存储的是单通道像素,使用C或C++的无符号字符类型,那么像素可有256个不同值。但若是三通道图像,这种存储格式的颜色数就太多了(确切地说,有一千六百多万种)。用如此之多的颜色可能会对我们的算法性能造成严重影响。其实有时候,仅用这些颜色的一小部分,就足以达到同样效果。这种情况下,常用的一种方法是 颜色空间缩减 。其做法是:将现有颜色空间值除以某个输入值,以获得较少的原创 2014-02-18 17:40:06 · 1688 阅读 · 0 评论 -
每天一算法(二)实现栈的push pop 操作,并可以输出栈的最小值
实现栈的push pop 操作,并可以输出栈的最小值// SatckMin.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include //malloc#include using namespace std;#define MAXSIZE 100struct stack{ int data[MAXSIZE]; int原创 2014-03-01 21:32:49 · 1364 阅读 · 0 评论