- 博客(74)
- 资源 (1)
- 收藏
- 关注
原创 LINUX基础命令
相对路径的三种表示方法:. 点,表示当前关联目录本身.. 双点,表示退回到上级目录(当前关联目录的父目录)目录名称,表示当前目录中的某个子目录../..上级目录的上级目录../../def 上级目录上级的目录的def目录——-同一父目录的其他子目录快捷键TAB 在写路径时按住tab键,可以自动补全(但需写出前面路径且指向唯一文件,不然会列出所有开头的文
2015-09-25 09:01:00
715
转载 窗口创建相关函数
1.OnCreate在OnCreateClient之前执行, 一些操作只能放在OnCreateClient中执行, 比如分割窗口。只有当你想改变CCreateContext结构中的数值时才需重写(override) OnCreateClient.其它情况下,不要重写!(在创建分割窗口时因为修改了m_pLastView,所以要重写)重写中,不要修改CREATESTRUCT结构(尽管它是OnC
2014-06-23 23:34:26
1235
转载 MFC窗口的创建
1.MFC窗口类CWnd在Windows系统里,一个窗口的属性分两个地方存放:一部分放在“窗口类”里头,如上所述的在注册窗口时指定;另一部分放在Windows Object本身,如:窗口的尺寸,窗口的位置(X,Y轴),窗口的Z轴顺序,窗口的状态(ACTIVE,MINIMIZED,MAXMIZED,RESTORED…),和其他窗口的关系(父窗口,子窗口…),窗口是否可以接收键盘或鼠标消息,等
2014-06-23 22:41:20
1550
转载 双缓存避免闪烁
绘图时屏幕闪烁的原因分析很长一段时间我一直认为绘图过程中出现的屏幕闪烁是图形刷新速度过快而造成的(相信有很多朋友也跟我一样有这样的想法),但是通过编写一些绘图程序,我发现事情并非如此,至少刷新速度快不会是造成屏幕闪烁的根本原因。这个问题可以通过下面的两个试验进行说明。1、编写一个刷新速度很慢的应用程序,可以设计为通过点击鼠标来进行屏幕刷新。通过该试验可以发现即使屏幕的刷新速度很慢,但是在每
2014-06-22 20:15:14
1318
原创 CTime类
成员公共构造函数名称描述CTime::CTime构造 CTime 对象以多种方式。公共方法名称描述CTime::Format转换 CTime 对象转换为基于
2014-06-22 18:15:36
1509
转载 MFC如何避免闪烁
显示图形如何避免闪烁,如何提高显示效率是问得比较多的问题。而且多数人认为MFC的绘图函数效率很低,总是想寻求其它的解决方案。MFC的绘图效率的确不高但也不差,而且它的绘图函数使用非常简单,只要使用方法得当,再加上一些技巧,用MFC可以得到效率很高的绘图程序。我想就我长期(呵呵当然也只有2年多)使用MFC绘图的经验谈谈我的一些观点。1、显示的图形为什么会闪烁?我们的绘图过程大多放
2014-06-18 10:01:00
711
原创 1001
In this problem, your task is to calculate SUM(n) = 1 + 2 + 3 + ... + n.The input will consist of a series of integers n, one integer per line.
2014-06-12 14:26:12
644
原创 1000
#includeusing namespace std;int main(){ int a=0,b=0; while(cin>>a>>b) cout<<a+b<<endl; return 0;}
2014-06-12 08:53:25
603
转载 vector模板类的成员函数
vector是线性容器,它的元素严格的按照线性序列排序,和动态数组很相似,和数组一样,它的元素存储在一块连续的存储空间中,这也意味着我们不仅可以使用迭代器(iterator)访问元素,还可以使用指针的偏移方式访问,和常规数组不一样的是,vector能够自动存储元素,可以自动增长或缩小存储空间,vector的优点:1. 可以使用下标访问个别的元素2. 迭代器可以按照不同的方式遍历容器
2014-06-05 22:19:31
1328
2
原创 霍纳法则
一﹑霍纳法则介绍假设有n+2个实数a0,a1,…,an,和x的序列,要对多项式Pn(x)= anxn +an-1xn-1+…+a1x+a0求值,直接方法是对每一项分别求值,并把每一项求的值累加起来,这种方法十分低效,它需要进行n+(n-1)+…+1=n(n+1)/2次乘法运算和n次加法运算。有没有更高效的算法呢?答案是肯定的。通过如下变换我们可以得到一种快得多的算法,即Pn(x)= anx
2014-06-04 08:43:47
1318
转载 冒泡排序
#includeusing namespace std;//交换元素void swap(int &a,int &b){ int t; t=a;a=b;b=t;}//输出元素void print(int s[],int n){ for(int i=0;i<n;i++) cout<<s[i]<<'\t'; cout<<endl;}//经典的冒泡算法,n个元素,比较n
2014-05-27 14:56:04
572
原创 冒泡排序的有趣使用
/* 将一个互不相同的四位数,把所有的数值从小到大排序后得到a,从大到小排序后得到b,然后 用b-a替换原来的数,并继续操作。*/#include#includeusing namespace std;void print(int s[],int n){for(int i=0;i<4;i++) cout<<s[i]<<'\t'; cout<<endl;}int
2014-05-27 11:02:01
1203
转载 c++面试
1. C中static有什么作用 (1)隐藏。 当我们同时编译多个文件时,所有未加static前缀的全局变量和函数都具有全局可见性,故使用static在不同的文件中定义同名函数和同名变量,而不必担心命名冲突。 (2)static的第二个作用是保持变量内容的持久。存储在静态数据区的变量会在程序刚开始运行时就完成初始化,也是唯一的一次初始化。共有两种变量存储在静态存
2014-05-27 08:58:08
532
转载 assert宏
assert() 宏用法 注意:assert是宏,而不是函数。在C的assert.h 头文件中。 assert宏的原型定义在中,其作用是如果它的条件返回错误,则终止程序执行,原型定义: #include void assert( int expression ); assert的作用是先计算表达式 expression ,如果其值为假(即为0),
2014-05-27 08:56:00
611
原创 创建蛇形数组
/* 在n*n方阵中输入1....n*n,要求数据呈蛇形,先下到底再转去左,到底转上,到顶后再转右,形成蛇形*/#includeusing namespace std;#define Max 10int a[Max][Max];int main() { int n,x,y,tot=0; cout<<"input n: "<<endl; cin>>n; memset(
2014-05-26 21:34:42
612
原创 开灯问题
/* 有n盏灯,编号为1~n。第1个人把所有灯打开,第2个人按下所有编号为2的倍数的开关(关闭),第3个人 按下所有编号为3的倍数的开关(关掉的灯将被打开,开着的灯将被关闭),依次类推,一共有k个人, 问最后有哪些灯开着?输入n,k */#includeusing namespace std;int main(){ int n,k; int *s; co
2014-05-26 17:29:20
745
转载 浮点数陷阱
陷阱1[cpp] view plaincopyprint?double i; for(i = 0; i != 10; i += 0.1) printf("%.1lf\n", i); 程序会打印至10.0时结束循环吗?不会。因为i永远也不可能等于10,这是个无限循环陷阱2
2014-05-26 09:35:38
786
原创 求类似aabb形式的完全平方数
//求出所有的aabb样式的完全平方数#include#includeusing namespace std;int main(){ int n; double m; for(int i=1;i<=9;i++) for(int j=0;j<=9;j++) { n=i*1100+j*11; m= sqrt(n); if(floor(m)==m)//不直接
2014-05-25 19:46:55
1240
原创 将不知位数的数进行反转后输出
#includeusing namespace std;int main(){ int n,m,v; int *s; int f=1; int count=1,c=0; cout<<"input the number : "<<endl; cin>>n; //a while(n/10!=0) { n=n/10; f=f*10;
2014-05-25 18:02:40
837
转载 指针与引用的区别
从概念上讲。指针从本质上讲就是存放变量地址的一个变量,在逻辑上是独立的,它可以被改变,包括其所指向的地址的改变和其指向的地址中所存放的数据的改变。而引用是一个别名,它在逻辑上不是独立的,它的存在具有依附性,所以引用必须在一开始就被初始化,而且其引用的对象在其整个生命周期中是不能被改变的(自始至终只能依附于同一个变量)。在C++中,指针和引用经常用于函数的参数传递,然而,指针传递参数
2014-05-23 10:43:36
462
转载 在MFC中使用自定义的消息
首先弄清楚两点:(1)谁要发送这个消息(2)谁要接受这个消息。 用一个简单的例子来说明。对象A向B(也可以就是A到A)发送消息。 1 发送消息 首先在A的头文件中定义这个消息: #define WM_USERMESSAGE WM_USER+30 所有自定义消息都是以WM_USER消息为基础加上一个任意的自然数来表示的。A是向外发送消息
2014-05-21 14:17:15
654
原创 bmp文件颜色表
一类称为rgb1、rgb4、rgb8等调色板格式,对于这几类格式,数据结构后面往往会带有一个调色板,图像中的像素值并不真正代表颜色值,而是代表颜色值的索引号,通过索引号查找到调色板上的位置来得到实际的颜色值。另一类则是真正的颜色值格式,典型的有rgb16、rgb24、rgb32等。
2014-05-19 20:33:09
9050
转载 静态成员
类中的静态成员真是个让人爱恨交加的特性。我决定好好总结一下静态类成员的知识点,以便自己在以后面试中,在此类问题上不在被动。 静态类成员包括静态数据成员和静态函数成员两部分。 一 静态数据成员: 类体中的数据成员的声明前加上static关键字,该数据成员就成为了该类的静态数据成员。和其他数据成员一样,静态数据成员也遵守public/protected/private访问规则。同时
2014-05-15 09:27:47
1547
原创 增加小时,分钟,秒
void Time::Add_hour(int x){ hour+=x; if(hour>23)hour%=24;}void Time::Add_minter(int y){ minter+=y;if(minter==60){ minter%=60; Add_hour(minter/60);}}void Time::Add_secon
2014-05-15 08:50:00
683
原创 static error
错误提示:'static' should not be used on member functions defined at file scope问题原因:static 不能在文件区域内定义!也就是说不能在类里面定义,必须先在类里面声明然后在类外定义!
2014-05-15 08:46:14
1093
转载 CArray类
CArray基础C++并不支持动态数组,MFC提供了一个CArray类来实现动态数组的功能。有效的使用CArray类,可以提高程序的效率。MFC提供了一套模板库,来实现一些比较常见的数据结构如Array,List,Map。CArray即为其中的一个,用来实现动态数组的功能。一、CArray类的构造函数CArray是从CObject派生,有两个模板参数,第一个参数就是CArr
2014-05-14 19:45:00
1290
转载 使用picture控件来显示图像
注意着两种方式都要事先在对话框中拖picture控件,将其ID改为:IDC_PHOTO看这篇文章之前建议先看一下下面这篇文章:VC下显示位图的几种方法 http://blog.youkuaiyun.com/ply421600/article/details/6692967//方式一:通过加载一张已有的位图,并将其显示在指定的picture控件中void CTestDlg::OnPa
2014-05-06 21:11:45
1068
转载 读取与显示位图
FILE *fp=fopen("lena.bmp","r");//打开文件 if(fp==NULL){ dc.TextOut(100,200,"no file found"); return; } BITMAPFILEHEADER fileheader; BITMAPINFO info; fread(&
2014-05-04 22:08:10
1120
1
转载 BMP文件格式详解
BMP文件格式,又称为Bitmap(位图)或是DIB(Device-Independent Device,设备无关位图),是Windows系统中广泛使用的图像文件格式。由于它可以不作任何变换地保存图像像素域的数据,因此成为我们取得RAW数据的重要来源。Windows的图形用户界面(graphical user interfaces)也在它的内建图像子系统GDI中对BMP格式提供了支持。
2014-05-04 21:28:45
761
转载 结构体字节对齐
(1)什么是字节对齐 一个变量占用 n 个字节,则该变量的起始地址必须能够被 n 整除,即: 存放起始地址 % n = 0, 对于结构体而言,这个 n 取其成员种的数据类型占空间的值最大的那个。(2)为什么要字节对齐 内存空间是按照字节来划分的,从理论上说对内存空间的访问可以从任何地址开始,但是在实际上不同架构的CPU为了提高访问内存的速度,就规定了对于某些类型的数据只
2014-05-04 16:57:35
663
原创 const 成员函数
/* 设计平面坐标点类,计算两点之间距离、到原点距离、关于坐标轴和原点的对称点等。 在设计中,由于求距离、求对称点等操作对原对象不能造成任何改变,所以, 将这些函数设计为常成员函数是合适的,能够避免数据成员被无意更改。*/class Point{private:int x,y;public:Point (int a,int b):x(a),y(b
2014-05-02 10:13:35
835
转载 MFC中用户自定义类响应自定义消息
【转】MFC中用户自定义类响应自定义消息 这篇技术文章不是讨论经典的MFC中的消息工作机理的,讨论消息工作原理、方式和路径的文章在网上和书本中随处可见。网上众多的讨论都是关于如何响应并进行用户自定义消息映射的;网上还有一些文章介绍如何在自定义类中响应Windows消息,在本文中都简略叙述。但是,网上大部分的文章没用透彻阐述如何在用户自定义类中响应自定义消息这一通用
2014-04-20 22:27:00
2100
转载 VC中使用SendMessage自定义消息函数
http://www.cnblogs.com/wqj1212/archive/2008/03/03/1089298.htmlvc中怎么使用SendMessage自定义消息函数:SendMessage的基本结构如下:SendMessage( HWND hWnd, //消息传递的目标窗口或线程的句柄。 UINT Msg, //消息类别(这里可以是一些系统消息,
2014-04-20 22:24:03
807
计算机视觉牛人的博客
2014-03-06
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人