- 博客(29)
- 资源 (14)
- 收藏
- 关注
原创 内存分配方式
内存 分配 方式有三种: 1.从静态存储区域分配 。内存 在程序编译的时候就已经分配 好,这块内存 在程序的整个运行期间都存在。例如全局变 量,static变量。 2.在栈上创建。在执行函数时,函数内局部变量的存储单元
2011-07-31 22:49:52 365
转载 一位软件工程师的6年总结
“又是一年毕业时 ”,看到一批批学子离开人生的象牙塔,走上各自的工作岗位;想想自己也曾经意气风发、踌躇满志,不觉感叹万千……本文是自己工作6年的经历沉淀或者经验提炼,希望对所有的软件工程师们有所帮助,早日实现自己的人生目标。本文主要是关于软件开发人员如何提高自己的软件专业技术方面
2011-07-29 17:02:38 625
转载 一句话总结GOF的23种设计模式 .
一、创建型模式 Abstract Factory:提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。 Builder:将一个复杂对象的构件与它的表示分离,使得同样的构建过程可以创建不同的表述。 Factory Method:定义一个
2011-07-29 16:58:57 755
原创 对字符串常量 的理解
常量存储总结 局部变量、静态局部变量、全局变量、全局静态变量、字符串常量以及动态申请的内存区1、局部变量存储在栈中2、全局变量、静态变量(全局和局部静态变量)存储在静态存储区3、new申请的内存是在堆中4、字符串常量也是存储在静态存储区补充说明:1、栈中的变量内存会随着定义所在区
2011-07-29 11:17:47 6677 3
原创 深入讨论传值和传址
在C和C++中我们一直使用两种比较传统的形参传递方式,一种是传值一种是传址,对于他们,我们的理解是:传值调用的话,传的是内容,形参的改变不会影响实参,传址的话形参的改变会影响实参。究其原因的话:传址是形参和实参共用一个地址内存。但是,大家对到底怎么一回事还是没有很明白,我们今天就
2011-07-25 13:48:37 767
原创 atoi函数源代码
isspace(int x){ if(x==' '||x=='/t'||x=='/n'||x=='/f'||x=='/b'||x=='/r') return 1; else return 0;}isdigit(int x){ if(x='0') ret
2011-07-25 12:05:32 665
转载 Win32程序开发流程
Windows程序分为“程序代码”和”UI资源”两大部分,两部分最后 以RC编译器整合为一个完整的EXE档案。所谓UI资源是指功能菜单、对话框外貌、程序图标、光标形状等等东西,实际内容借助各种工具产生,并以各种扩展名的文件存在,如.ico、.bmp、、.cur等等。程序员必须在一
2011-07-23 14:44:35 1412
原创 SendMessage函数
首先 我们了解一下Windows的消息机制。Windows是一个消息驱动式系统,Windows消息提供应用程序与应用程序之间,应用程序与Windows系统之间进行通信的手段。举个例子,打开记事本程序,该程序有一个 “文件“菜单。 那么,在运行该程序的时候,如果用户单击“文件菜单“
2011-07-23 13:00:20 20266
原创 wParam和lParam消息
1 WM_PAINT消息,LOWORD(lParam)是客户区的宽,HIWORD(lParam)是客户区的高 2 滚动条WM_VSCROLL或WM_HSCROLL消息,LOWORD(wParam)指出了鼠标对滚动条的操作。比如上、下、左、右、翻页、移动等。 3 击
2011-07-23 11:12:19 1612
转载 UpdateWindow
只将窗口显示区域标记为无效以产生WM_PAINT消息,对于某些应用程序来说也许不是完全令人满意的选择。在呼叫InvalidateRect之后,Windows将WM_PAINT消息放入消息队列中,最后由窗口消息处理程序处理它。然而,Windows将WM_PAINT消息当成低优先级消
2011-07-22 23:29:54 4079
原创 控制台中使用多线程编程
线程是程序中一个单一的顺序控制流程。在单个程序中同时运行多个线程完成不同的工作,称为多线程。以上来自百度百科。多线程技术会让程序变得更加强大,是单线程永远无法实现的。例如,在命令行中,用户正在响应getchar函数,而我需要在用户输入的同时将命令行标题改为现在的时间,这个效果是单
2011-07-22 22:27:35 11734 2
原创 键码常数
键码 常数 值 描述 vbKeyLButton 1 鼠标左键 vbKeyRButton 2 鼠标右键 vbKeyCancel 3 CANCEL 键 vbKeyMButton 4 鼠标中键 vbKeyBack 8
2011-07-22 12:01:58 705
转载 原码、反码、补码总结
原码、反码、补码 数值在计算机中表示形式为机器数,计算机只能识别0和1,使用的是二进制,而在日常生活中人们使用的是十进制,"正如亚里士多德早就指出的那样,今天十进制的广泛采用,只不过我们绝大多数人生来具有10个手指头这个解剖学事实的结果.尽管在历史上手指计数(5,10进制
2011-07-21 19:46:42 650
原创 对while语句的误解
问题:#include int main(){ int i = -1; while(i++) { cout } return 0;}问:输出结果是什么? 1. 死循环 2. hello world 一直以为while(表
2011-07-21 19:42:53 484
转载 getchar、getch区别与用法 .
getchar()和getch()的问题一直困扰着大家,关于他们的区别也是众说纷纭,可没有一种说法是详细、深入的,今天我就在前人已有的成果上,试着与大家继续探讨下这个问题: 先看看规范点的说法: getchar This is a standard fu
2011-07-21 18:15:19 3387
原创 揭秘CMD中调用不支持鼠标的原因
揭秘CMD中调用不支持鼠标的原因,并告诉大家如何处理这个问题。首先,让我们认识API函数GetConsoleMode。从字面上理解,这个函数可以获取“ConsoleMode”。“ConsoleMode”,可以通俗地理解成命令行模式。示例代码:获得当前的模式:HANDLE hIn=
2011-07-21 15:22:36 3690
原创 如何入门学习控制台编程
类型:原创测试环境:VC++ 6.0网友抱怨道,本博客的内容比较深入,对于刚入门的新手来说简直不知所云。但是,无论是哪方面的编程都需要一定的基础,而这些基础知识并不是一次就能说干净的,因此基础知识也并不是本博客的内容。在此,我推荐各位去看一些书籍,这样可以快速的入门。一、基础知识
2011-07-21 14:42:56 1833
原创 经典的100个c算法
C语言的学习要从基础,100个经典的算法真不知道关于语言的应该发在那里,所以就在这里发了,发贴的原因有2个,第一个,这东西非常值得学习,第二个,想..........嘿嘿,大家应该能猜到吧语言的学习基础,100个经典的算法C语言的学习要从基础开始,这里是100个经典的算法-1C语
2011-07-21 12:28:58 1120
原创 复制构造函数
也许很多C++的初学者都知道什么是构造函数,但是对复制构造函数(copy constructor)却还很陌生。也许写代码的时候能用得上复制构造函数的机会并不多,不过这并不说明复制构造函数没什么用,其实复制构造函数能解决一些我们常常会忽略的问题。 我们经常使用函数,传递过各
2011-07-21 12:17:37 570
原创 STL总结
标准STL序列容器:vector、string、deque和list。标准STL关联容器:set、multiset、map和multimap。非标准序列容器slist和rope。slist是一个单向链表,rope本质上是一个重型字符串非标准关联容器hash_set、hash_mu
2011-07-21 12:14:06 733
转载 C++文件读写
C++ 简单读写文本文件、统计文件的行数、读取文件数据到数组 fstream提供了三个类,用来实现c++对文件的操作。(文件的创建、读、写)。ifstream -- 从已有的文件读 ofstream -- 向文件写内容fstream - 打开文件供读写文件打开模式:ios::in
2011-07-21 12:11:52 9048
原创 模块句柄(实例句柄)和句柄的区别
解释一:1.模块的概念一个模块代表的是一个运行中的exe文件或dll文件,用来代表这个文件中所有的代码和资源,磁盘上的文件不是模块,装入内存后运行时就叫做模块。一个应用程序调用其他DLL中的API时,这些DLL文件被装入内存,就产生了不同的模块,为了区分地址空间中的不同模块,每个
2011-07-21 12:08:05 7073 3
原创 STL简介
STL 简介 1. STL 是什么 作为一个C++ 程序设计者,STL 是一种不可忽视的技术。 Standard Template Library (STL) :标准模板库, 更准确的说是 C++ 程序设计语言标准模板库。STL 是所有C++ 编译器和所有操作系统平台
2011-07-21 12:03:12 3152
转载 浅析C++标准头文件结构
在C语言中,并没有任何内在的机制来完成如下一些功能:在编译时包含其他源文件、定义宏、根据条件决定编译时是否包含某些代码。要完成这些工作,就需要使用预处理程序。尽管在目前绝大多数编译器都包含了预处理程序,但通常认为它们是独立于编译器的。预处理过程读入源代码,检查包含预处理指令的语句
2011-07-21 12:00:04 483
原创 学习c++的50条忠告(初学者必看)
学习c++的50条忠告(初学者必看)1.把C++当成一门新的语言学习(和C没啥关系!真的。); 2.看《Thinking In C++》,不要看《C++变成死相》; 3.看《The C++ Programming Language》和《Inside The C++ Object
2011-07-21 11:57:57 1013
转载 c++ using namespace 详解
所谓namespace,是指标识符的各种可见范围。C++标准程序库中的所有标识符都被定义于一个名为std的namespace中。 一 : 和是不一样,前者没有后缀,实际上,在你的编译器include文件夹里面可以看到,二者是两个文件,打开文件就会发现,里面的代码是不一
2011-07-21 11:55:00 769 1
原创 C++之路 堆、栈和静态数据
1 堆、栈及静态数据区详解 五大内存分区 在C++中,内存分成5个区,他们分别是堆、栈、自由存储区、全局/静态存储区和常量存储区。 栈,就是那些由编译器在需要的时候分配,在不需要的时候自动清楚的变量的存储区。里面的变量通常是局部变量、函数参数等。 堆,就是
2011-07-21 11:53:07 381
转载 算法与追MM,太强,不要错过
动态规划,基本上就是说: 你追一个MM的时候,需要对该MM身边的各闺中密友都好,这样你追MM这个问题就分解为对其MM朋友的问题,只有把这些问题都解决了,最终你才能追到MM。 该方法适用于聪明的MM,懂得“看一个人,不是看他如何对你,而是看他如何对他人。”的道理,并且对付这样的
2011-07-21 11:51:07 741
windows网络编程(第二版)
2011-12-03
C++设计新思维(泛型编程与设计模式之应用)
2011-12-03
高级TCP/IP编程
2011-12-03
大规模C++程序设计
2011-12-03
ATL 开发指南
2011-11-23
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人