上一页 1 2 3 4 5 6 ··· 18 下一页
摘要: http://wenku.baidu.com/view/0874a5f7ba0d4a7302763a99.html 阅读全文
posted @ 2011-11-09 17:14 麦飞 阅读(717) 评论(0) 推荐(0) 编辑
摘要: http://www.khelll.com/blog/ruby/c-passes-by-reference-java-and-ruby-dont/ 阅读全文
posted @ 2011-11-09 15:12 麦飞 阅读(143) 评论(0) 推荐(0) 编辑
摘要: 一、typedef的用法在C/C++语言中,typedef常用来定义一个标识符及关键字的别名,它是语言编译过程的一部分,但它并不实际分配内存空间,实例像:typedef int INT;typedef int ARRAY[10];typedef (int*) pINT;typedef可以增强程序的可读性,以及标识符的灵活性,但它也有“非直观性”等缺点。二、#define的用法#define为一宏定义语句,通常用它来定义常量(包括无参量与带参量),以及用来实现那些“表面似和善、背后一长串”的宏,它本身并不在编译过程中进行,而是在这之前(预处理过程)就已经完成了,但也因此难以发现潜在的错误及其它代 阅读全文
posted @ 2011-11-08 18:58 麦飞 阅读(218) 评论(0) 推荐(0) 编辑
摘要: 为什么用EXTERN?全局变量(外部变量)是在函数的外部定义的,它的作用域为从变量的定义处开始,到本程序文件的末尾。在此作用域内,全局变量可以为本文件中各个函数所引用。编译时将全局变量分配在静态存储区。有时需要用extern来声明全局变量,以扩展全局变量的作用域。如果外部变量不在文件的开头定义,其有效的作用范围只限于定义处到文件终了。如果在定义点之前的函数想引用该全局变量,则应该在引用之前用关键字 extern对该变量作外部变量声明,表示该变量是一个将在下面定义的全局变量。有了此声明,就可以从声明处起,合法地引用该全局变量,这种声明称为提前引用声明。extern关键字告诉编译器,"这 阅读全文
posted @ 2011-11-07 19:44 麦飞 阅读(559) 评论(0) 推荐(0) 编辑
摘要: string::size_type类型从逻辑上来讲,size()成员函数似乎应该返回整型数值。但事实上,size操作返回的是string::size_type类型的值。我们需要对这种类型做一些解释。string类类型和许多其他库类型都定义了一些伙伴类型(companion types)。这些伙伴类型使得库类型的使用是机器无关的(machine-independent)。size_type就是这些伙伴类型中的一种。它定义为与unsigned型(unsigned int或unsigned long)具有相同的含义,而且可以保证足够大可存储任意string对象的长度。为了使用由string类型定义的 阅读全文
posted @ 2011-11-07 13:47 麦飞 阅读(287) 评论(0) 推荐(0) 编辑
摘要: vector(向量): C++中的一种数据结构,确切的说是一个类.它相当于一个动态的数组,当程序员无法知道自己需要的数组的规模多大时,用其来解决问题可以达到最大节约空间的目的.用法:1.文件包含:首先在程序开头处加上#include<vector>以包含所需要的类文件vector还有一定要加上using namespace std;2.变量声明:2.1 例:声明一个int向量以替代一维的数组:vector <int> a;(等于声明了一个int数组a[],大小没有指定,可以动态的向里面添加删除)。2.2 例:用vector代替二维数组.其实只要声明一个一维数组向量即可, 阅读全文
posted @ 2011-10-31 15:43 麦飞 阅读(311) 评论(0) 推荐(0) 编辑
摘要: Win32 API消息函数:SendMessage函数功能:该函数将指定的消息发送到一个或多个窗口。此函数为指定的窗口调用窗口程序,直到窗口程 序处理完消息再返回。而函数PostMessage不同,将一个消息寄送到一个线程的消息队列后立即返回。 函数原型:LRESULT SendMessage(HWND hWnd,UINT Msg,WPARAM wParam,LPARAM IParam); 参数: hWnd:其窗口程序将接收消息的窗口的句柄。如果此参数为HWND_BROADCAST,则消息将被发送到系统中所有顶层窗口,包括无效或不可见的非自 身拥有的窗口、被覆盖的窗口和弹出式窗口,但消息不被发 阅读全文
posted @ 2011-10-26 16:35 麦飞 阅读(399) 评论(0) 推荐(0) 编辑
摘要: GetTextMetrics:获取当前字体的信息GetTextExtent:获取特定的字符串在屏幕上所占的宽度和高度对于这两个函数的作用,我在编程的时候,也有一定的困惑。因此,我也想,其他人在编程的时候也肯定有 同样的困惑。所以我把他们解释一下。不足之处,还请大家多多的添加 批评~~其实,我们对什么困惑呢?函数的调用方法,还是在返回值上?CDC::GetTextMetrics作用:返回当强设备描述表中的当前所用的字体的信息函数原型:BOOL GetTextMetrics( LPTEXTMETRIC lpMetrics) const;参数:lpMetrics (是一个指针)返回指向TEXTMET 阅读全文
posted @ 2011-10-26 15:59 麦飞 阅读(770) 评论(0) 推荐(0) 编辑
摘要: SetWindowLong是对一个Window的;SetClassLong是对一类Window的。 阅读全文
posted @ 2011-10-26 13:37 麦飞 阅读(452) 评论(0) 推荐(0) 编辑
摘要: http://erlangdisplay.iteye.com/blog/1214167 阅读全文
posted @ 2011-10-26 10:08 麦飞 阅读(292) 评论(0) 推荐(0) 编辑
摘要: 为了避免同一个文件被include多次1 #ifndef方式2 #pragma once方式在能够支持这两种方式的编译器上,二者并没有太大的区别,但是两者仍然还是有一些细微的区别。 方式一: #ifndef __SOMEFILE_H__ #define __SOMEFILE_H__ ... ... // 一些声明语句 #endif 方式二: #pragma once ... ... // 一些声明语句 #ifndef的方式依赖于宏名字不能冲突,这不光可以保证同一个文件不会被包含多次,也能保证内容完全相同的两个文件不会被不小心同时包含。当然,缺点就是如果不同头文件的宏名不小心“撞车”,可能就会导 阅读全文
posted @ 2011-10-20 14:49 麦飞 阅读(279) 评论(0) 推荐(0) 编辑
摘要: 第一个是响应打开菜单的命令的第二个是你打开这个菜单时,处理这个菜单的状态,比如选中、变灰等等。比如WINDOWS自带的记事本程序,它的"格式"菜单下有个"自动换行",那么在编写记事本这个程序时,对文本进行自动换行或不自动换行的操作就要放在ON_COMMAND消息响应函数里,而"自动换行"菜单项左边是否打勾的操作则放在ON_UPDATE_COMMAND_UI响应函数里.UPDATE_COMMAND_UI 处理菜单对应的用户界面显示状态COMMAND 处理该菜单对应的功能传统SDK程序要改变选单命令项状态,可以呼叫EnableMenuIt 阅读全文
posted @ 2011-10-19 16:44 麦飞 阅读(26559) 评论(1) 推荐(3) 编辑
摘要: OnPaint是WM_PAINT消息的消息处理函数,在OnPaint中调用OnDraw,一般来说,用户自己的绘图代码应放在OnDraw中。OnPaint()是CWnd的类成员,负责响应WM_PAINT消息。OnDraw()是CVIEW的成员函数,没有响应消息的功能.当视图变得无效时(包括大小的改变,移动,被遮盖等等),Windows发送WM_PAINT消息。该视图的OnPaint处理函数通过创建CPaintDC类的DC对象来响应该消息并调用视图的OnDraw成员函数.OnPaint最后也要调用OnDraw,因此一般在OnDraw函数中进行绘制。TheWM_PAINTmessageissentw 阅读全文
posted @ 2011-10-18 16:17 麦飞 阅读(356) 评论(0) 推荐(1) 编辑
摘要: 一.简介虚函数是C++中用于实现多态(polymorphism)的机制。核心理念就是通过基类访问派生类定义的函数。假设我们有下面的类层次:class A{public:virtual void foo() { cout << "A::foo() is called" << endl;}};class B: public A{public:virtual void foo() { cout << "B::foo() is called" << endl;}};那么,在使用的时候,我们可以:A * a = ne 阅读全文
posted @ 2011-10-09 16:17 麦飞 阅读(407) 评论(0) 推荐(0) 编辑
摘要: http://blog.csdn.net/charlie_2010/article/details/6719891一个不幸的消息是Lua中没有内置sleep函数,我们需要DIY。有4种方法可以实现sleep函数,如下:方法1--在一个死循环中设置一个跳出条件,但是这样的做法会占用大量CPU资源,强烈不推荐使用哦function sleep(n) local t0 = os.clock() while os.clock() - t0 <= n do endend方法2--调用系统的sleep函数,不消耗CPU,但是Windows系统中没有内置这个命令(如果你又安装Cygwin神马的也行)。 阅读全文
posted @ 2011-09-26 17:33 麦飞 阅读(10430) 评论(0) 推荐(0) 编辑
摘要: 解决Lua语法缺失及替代措施是本文要介绍的内容,主要是来了解LUA语法的学习。Lua的一个设计方针是简单,能不加入的语言特性就尽量不加入。于是,Lua中缺少了一些我们常用的语法。下面仅以C语言做参考。缺少continue语句,虽然对逻辑实现没本质影响。但让我们在编程时,代码结构的写法有一些生硬的感觉,不灵活。缺少了switch-case语法,仅用if-elseif-else来替代,在选项比较多的时候,代码很难看,而且效率很低。没有逻辑运算符 AND, OR, NOT ,这在有些标志位组合表达式的表达上带来诸多不便。另外也说一下,觉得Lua里面设计得不爽的几点:不等号是~=, 而不是!=。个人觉 阅读全文
posted @ 2011-09-08 14:13 麦飞 阅读(3089) 评论(1) 推荐(0) 编辑
摘要: Lua中的模块(module)机制有点类似于C语言的动态库,可以将一些公共的代码放在模块中,以API的形式提供给Lua应用脚本使用。使用模块或许还可以做成像Android的Application Frameworks,建立一种新的应用程序编程模型,只是猜想。模块最简单的使用方式:view plainrequire“os”os.clock() tableLua语言共有8中数据类型,其中table(表)类型实现了“关联数组(associative array)”。table中可以保存各种数据类型。和table关联的metatable,它定义了表的操作的一些行为,比如:使用+操作时,会去查找meta 阅读全文
posted @ 2011-08-15 11:32 麦飞 阅读(5541) 评论(0) 推荐(0) 编辑
摘要: --13.4.1The__indexMetamethod有点c++继承的意思--createanamespaceWindow={}--createtheprototypewithdefaultvaluesWindow.prototype={x=0,y=0,width=100,height=101,}--定义一个原型表默认值--createametatableWindow.mt={}--创建metatable--declaretheconstructorfunctionfunctionWindow.new(o)--定义new函数setmetatable(o,Window.mt)returnoen 阅读全文
posted @ 2011-08-15 10:47 麦飞 阅读(457) 评论(0) 推荐(0) 编辑
摘要: //average.cpp:Definestheentrypointfortheconsoleapplication.//#include"stdafx.h"#include<stdio.h>extern"C"{#include"lua.h"#include"lualib.h"#include"lauxlib.h"}/*指向Lua解释器的指针*/lua_State*L;staticintaverage(lua_State*L){/*得到参数个数*/intn=lua_gettop(L) 阅读全文
posted @ 2011-08-12 17:12 麦飞 阅读(4292) 评论(0) 推荐(1) 编辑
摘要: //luatest1.cpp:Definestheentrypointfortheconsoleapplication.//#include"stdafx.h"#include<stdio.h>extern"C"{#include"lua.h"#include"lualib.h"#include"lauxlib.h"}/*Lua解释器指针*/lua_State*L;intmain(intargc,char*argv[]){/*初始化Lua*/L=lua_open();/*载入Lua基 阅读全文
posted @ 2011-08-12 11:29 麦飞 阅读(551) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 ··· 18 下一页