
C / C++
文章平均质量分 65
sxyaxy
这个作者很懒,什么都没留下…
展开
-
C++回调函数
1、问题提出 在OpenGL中,有auxInitPosition(int , int , int , int);用来初始化窗口大小,它最初的定义是void auxInitPosition(GLint x,GLint y,GLsizei width,GLsizei height) ,这个可以用VC Tools中的工具Depends来查看,其结果如下: 回调原创 2011-06-03 13:06:00 · 686 阅读 · 0 评论 -
【建模】面向对象设计原则分析
一、面向对象三大设计原则 1、针对接口编程,而不是针对实现编程 可以通过派生接口的类实现(Java中常见)来完成,这样无需知道具体的实现。可自顶而上的进行设计,也可以自下而上的进行抽取公共部分。public interface A//接口{public: void Move(); void Fly();}//分原创 2013-12-11 16:13:23 · 1682 阅读 · 0 评论 -
【题目】引用类型分析
一、C++引用机制 int nVar = 0x12345678;int &nVarType = nVar;Add(nVar); //通过push指令,传nVar变量的地址void Add(int &nVar) //在栈中,取nVar变量的地址,{ nVar++; //得到了地址之后,将里面的值++}【点原创 2014-01-08 17:10:51 · 531 阅读 · 0 评论 -
【语言】C++野指针分析
一、分析 TCHAR szHello[MAX_LOADSTRING]; LoadString(hInst, IDS_HELLO, szHello, MAX_LOADSTRING); int *p = new int; //&p是当前函数栈的地址,p是内存new出来的一个地址 delete p; //p仍然保留原来的值 p = NULL; //p为原创 2013-11-28 00:15:43 · 760 阅读 · 0 评论 -
【游戏】走迷宫游戏分析
一、流程分析二、行走分析三、数据分析 参考:1、从新手到高手:C++全方位学习15.1原创 2013-12-28 10:51:46 · 1363 阅读 · 0 评论 -
用C编写的记事本程序分析
Windows C编写的参考:1、用C编写的记事本程序2、用Windows C编写的一个记事本程序原创 2013-09-29 21:52:57 · 1270 阅读 · 0 评论 -
C语言Main函数中的参数
参考:1、Windows人机交互原创 2013-10-19 20:55:36 · 612 阅读 · 0 评论 -
文件捆绑器分析
一、文件绑定 1、文件分离器 a. 首先是GetModuleFileName()获取自身的文件路径,再获取文件的大小 b. 根据其大小,malloc内存区,fread读取文件数据到内存区中,然后定位最后的长度数据 其存储结构是: c. 定位到内存区的数据后,再将其以文件的形式原创 2013-10-13 09:41:39 · 1403 阅读 · 0 评论 -
OpenGL库函数初探
在上一篇文章中谈到AuxInitPosition和AuxReshapeFunc(),其中AuxReshapeFunc()用到了AuxInitPostion中的数据,如何才能做到这一步呢?一、AuxTest.dll编写 先新建一个工程TestAux,在其中加入Win32 Dynamic类型的工程AuxTest,加入Son_glaux.hSon_glaux.cpp,AuxTe原创 2011-06-05 14:37:00 · 528 阅读 · 0 评论 -
字符串宏测试
1、基本程序编写#include #include #include #define Son_AFX_WNDCLASS(s) / _T("Afx")_T(s)_T("42")#define Son_AFX_WND Son_AFX_WNDCLASS("Wnd")const TCHAR _Son_afxWnd[]=Son_AFX_WND;int main(int argc, cha原创 2011-06-10 20:04:00 · 563 阅读 · 0 评论 -
C++总结
一、字节对齐准则:1.编译器先找到结构体成员中最大字节数成员,然后开始分配第一个这样大的空间,依次来容纳数据成员;不足补0。struct struct1{ int i; char ch; double d; short s; float f; long l;};先分配最大字节数8,int 4可容下,char 1可容下翻译 2011-06-21 20:26:00 · 389 阅读 · 0 评论 -
变长记录文件分析
一、文件记录分析1、分索引文件"原文件名+index.txt"和数据流文件"原文件名.dat"来存储数据,索引文件格式化存储前6项:记录号、记录标识、删除标识、记录长度、偏移位置、字节流或链接、记录长度,就是不断的写入Record结构体2、首先打开索引,读到内存中,通过Record * next和Record* priority指针将所有记录链接起来,并对一些信息进行统计,如记录数;关原创 2013-10-04 10:43:52 · 2823 阅读 · 0 评论 -
文本编辑器代码分析
一、采用栈结构的行编辑器1、功能分析 a. 输入不是"#"也不是"@"时,压入栈中 b.是"#",则栈顶元素出栈 c.是"@",则栈前的数据清空 d.接受到'\n'回车键或者EOF(Ctrl+z)键时,则结束typedef struct SqStack{//栈定义 SElemType *base; SElemType *top;原创 2013-10-07 21:37:48 · 1321 阅读 · 0 评论 -
文本编辑器代码分析(续1)
一、简单文本编辑器程序1、数据结构 typedef struct _list //行表结构{ char data[80]; //记录一行字符int length; //记录一行字符长度 struct _list *next; // 后继指针struct _list *pre; //前趋指针int row; //记录整篇文章的行数}LinkList;原创 2013-10-08 13:31:08 · 982 阅读 · 0 评论 -
简易文本编辑器分析
一、消息机制分析switch (message) { case WM_INPUTLANGCHANGE: //当输入法发生切换时,此消息发送 dwCharSet = wParam ; //wParam参数是新输入法使用的字符集 // fall throu原创 2013-10-05 15:35:15 · 954 阅读 · 0 评论 -
C++字符串行编辑器分析
一、类结构分析class TextEditer{ public: TextEditer(string input,string output);\\初始化时,一定要把输入文件名和输出文件名传入,并且打开,否则出错 void showmenu(); void insert(string str1,stri原创 2013-10-12 02:36:33 · 963 阅读 · 0 评论 -
文件结构分析
一、文件存储结构分为:顺序文件、索引文件、哈希文件顺序文件:一个记录块(struct)逐个存储,最后是一个EOF Marker索引文件:索引和数据文件组成,索引由键key和地址组成,如公司职员文件按保险号或者姓名进行索引。索引排序形成“倒排文件”哈希文件:没有索引,根据键计算来确定数据地址,键的数量大于记录时,发生冲突。哈希存储冲突解决方法是,1、开放寻址 发现地址被占用,原创 2013-10-13 07:33:11 · 748 阅读 · 0 评论 -
【文件】索引文件与排序树分析
一、索引文件分析参考:1、排序树与文件索引2原创 2013-10-15 23:12:44 · 623 阅读 · 0 评论