学习编程必看的文章

偶然在网上看到这篇文章,很有感触,现在把它发上来大家一起看看。。原文如下:   做为一名大四的学生,我面试过不少的单位,有成功的也有失败的,但是对我来说所有的失败在某种意义上都是一种成功,特别是我下面写的这些,写这篇文章的时候,我已经签了南京的一家软件公司,但是想起今年2月21日我面试苏州台湾的IT公司的经历联想到我们现在   学习编程的一些情况我真的深有感触,这次面试使我深深的体会到了失败但也收获了很多。我要说的将分成三部分:   1.是我面试的具体经过   2.是由面试想到的   3.现今我应该做的。   当然这些话很大程度上是我个人的意见,不可能完全得到...
编程文章 | 2009-03-09 09:40 | 阅读 2032 次 | 评论 0 条

学好VC++的十大良好习惯

每到年底各大媒体就争先恐后热火朝天地搞总结,什么十大人物,十大品牌,十大美女,十大帅哥等等五花八门乱七八糟的让人充满好奇充满怀疑,这事确实让人有点郁闷,就如同男足国家队的国产教练如沈墙扶们每一次踢球失败后都要说这么一句:我们回去后要好好总结,下次会打得更好! 这话听了几十年了,耳朵都生虫了,但还是无法看到中国猪球队有象人样的表现。因此,总结在某一程度上来说只不过是一种形式罢了,总结不代表就能改过原有的不足,也不代表就能进步了,甚至有点俗不可耐,尽管如此,阿蒙亦明知故俗,前人说过了入乡了就要随俗,因此你生活在这种环境里,你无法对这些无聊无趣的东东置之不理,除非你是天才,天才往往在非天才的人...
VC++ | 2009-03-09 09:40 | 阅读 1286 次 | 评论 0 条

给C++初学者的50个忠告

1.把C++当成一门新的语言学习(和C没啥关系!真的。);   2.看《Thinking In C++》,不要看《C++变成死相》;   3.看《The C++ Programming Language》和《Inside The C++ Object Model》,不要因为他们很难而我们自己是初学者所以就不看;   4.不要被VC、BCB、BC、MC、TC等词汇所迷惑——他们都是集成开发环境,而我们要学的是一门语言;   5.不要放过任何一个看上去很简单的小编程问题——他们往往并不那么简单,或者可以引伸出很多知识点;   6.会用Visual C++,并不说明你...
C++ | 2009-03-09 09:39 | 阅读 1852 次 | 评论 0 条

Visual C++6.0 API函数操作技巧集

我们在编制应用软件的过程中,常常需要对光标和鼠标操作,本人在文中介绍了Windows系统中有关实现对鼠标和光标进行操作的API函数,并给出了在Visual C6.0++中利用所介绍的API函数实现对鼠标和光标的操作的代码。   一、隐藏和显示光标   函数: int ShowCursor ( BOOL bShow );   参数 bshow,为布尔型,bShow的值为False时隐藏光标,为True时显示光标;该函数的返回值为整型,为鼠标隐藏或显示的指数器;返回值大于等于0时显示光标,否则隐藏鼠标;如果安装了鼠标初值为0。   实例:   在基于对话框的应用程序中放置两个B...
VC++ | 2009-03-09 09:39 | 阅读 2169 次 | 评论 0 条

Visual C++ 编程技巧

C++给人的第一感觉便是过于专业化,高深和晦涩。其实也并非如此,在基本掌握了它之后你就会发现,VC++使用起来是很方便的。至于说难,那是有点。但这并非是VC++的过错,而是Windows,这个庞大无比对用户亲切之至却对程序员不那么友好的家伙。再说,VC++系出自名门,微软的哪样东西不是先把你服侍得舒舒服服,然后再把你口袋中的钱掏个精光呢?好,下面就向大家介绍几个在使用中的小技巧。  1.使用中文  VC++从1.5版到现在的6.0版,好像还没有出现过像VB一样的中文版。大概是Microsoft认为能够用VC++编程的人英文水平都很高吧,但这对用户可不行啊。VC++在中文平台下可以使用中文...
VC++ | 2009-03-09 09:39 | 阅读 2482 次 | 评论 0 条

设计高精度乘法计算函数

我们知道计算机的计算精度不是无限大的,甚至是十分有限的。CPU的字长和操作系统的处理能力直接制约着运算精度和运算能力。随着计算机应用的深入,人们对计算能力的需求,尤其是精度的需求,越来越高。虽然目前32位CPU及操作系统提供的计算精度,较之从前已有很大的提高,而且精度更高的64位CPU及操作系统正在普及,但是,对许多计算机应用课题来说,能不能具有不直接依赖硬件条件的高精度、高性能计算能力仍是至关重要的。为此,设计高精度计算的软件包,用软件方法实现高精度计算,是一件有实用价值的工作。例如,目前在电子商务应用中,密码的校验及计算就是对高精度计算的典型需求。 分析问题 由于C语言具有执行效率高...
C | 2009-03-09 09:38 | 阅读 2945 次 | 评论 0 条

在VC下把exe文件转换成DLL文件

             在VC下把exe文件转换成DLL文件 说到这里的方法,我们不得不说一下VC是里面生成的各个文件的作用: .dsp 工程文件,文本格式,不可丢失或损坏 .dsw 工作区文件,丢失或损坏时,可点击.dsp文件打开工程,.dsw文件自动重建 .clw ClassWizard信息文件,ini格式,ClassWizard出问题时可删除它再重建 .map 映像信息文件,编制DLL写.def文件时,若不知道函数导出顺序,可在Prject\Settings\Link页中选中“Generate mapfile”,重新build, ...
VC++ | 2009-03-09 09:37 | 阅读 5955 次 | 评论 0 条

const & 指针

在指针的定义里面加入const,究竟const修饰的是指针本身,还是指针所指向的变量那,下面来分析一下:  1)、const在前面   const int nValue; //nValue是const   const char *pContent; //*pContent是const, pContent可变   const (char *) pContent;//pContent是const,*pContent可变   char* const pContent; //pContent是const,*pContent可变   const char* const pConten...
C++ | 2009-03-09 09:37 | 阅读 1024 次 | 评论 0 条

windows进程中的内存结构

接触过编程的人都知道,高级语言都能通过变量名来访问内存中的数据。那么这些变量在内存中是如何存放的呢?程序又是如何使用这些变量的呢?下面就会对此进行深入的讨论。下文中的C语言代码如没有特别声明,默认都使用VC编译的release版。 首先,来了解一下 C 语言的变量是如何在内存分部的。C 语言有全局变量(Global)、本地变量(Local),静态变量(Static)、寄存器变量(Regeister)。每种变量都有不同的分配方式。先来看下面这段代码: #include <stdio.h> int g1=0, g2=0, g3=0; int main() { static int s1=0,...
VC++ | 2009-03-09 09:36 | 阅读 2632 次 | 评论 0 条

Window 消息大全使用详解

消息,就是指Windows发出的一个通知,告诉应用程序某个事情发生了。例如,单击鼠标、改变窗口尺寸、按下键盘上的一个键都会使Windows发送一个消息给应用程序。消息本身是作为一个记录传递给应用程序的,这个记录中包含了消息的类型以及其他信息。例如,对于单击鼠标所产生的消息来说,这个记录中包含了单击鼠标时的坐标。这个记录类型叫做TMsg,它在Windows单元中是这样声明的:typeTMsg = packed recordhwnd: HWND; / /窗口句柄message: UINT; / /消息常量标识符wParam: WPARAM ; // 32位消息的特定附加信息lParam: L...
VC++ | 2009-03-09 09:36 | 阅读 1656 次 | 评论 0 条

C++中用vectors改进内存的再分配

摘要:本文描述的是一种很常见的情况:当你在某个缓存中存储数据时,常常需要在运行时调整该缓存的大小,以便能容纳更多的数据。本文将讨论如何使用 STL 的 vector 进行内存的再分配。   这里描述的是一种很常见的情况:当你在某个缓存中存储数据时,常常需要在运行时调整该缓存的大小,以便能容纳更多的数据。传统的内存再分配技术非常繁琐,而且容易出错:在 C 语言中,一般都是每次在需要扩充缓存的时候调用 realloc()。在 C++ 中情况更糟,你甚至无法在函数中为 new 操作分配的数组重新申请内存。你不仅要自己做分配处理,而且还必须把原来缓存中的数据拷贝到新的目的缓存,然后释放先前数组...
C++ | 2009-03-09 09:35 | 阅读 1040 次 | 评论 0 条

析构函数的奥秘

class A {public:A () { pValue = new int[100]; printf("Constructor of A\n"); }~A () { delete [] pValue; printf("Deconstructor of A\n"); }private:int * pValue;}; class B {public:~B () { printf("Deconstructor of B\n"); }}; class C : public B {public:~C () { printf("Deconstructor of C\n"); }privat...
C++ | 2009-03-09 09:35 | 阅读 1206 次 | 评论 0 条

VC视频教程笔记!(1-3课)

第一课 1.MFC生成的C++源文件中都有StdAfx.h,此文件包含了常用的AFX函数的声明,其中有afxwin.h,此文件包含了CRECT,CPoint,CWnd等许多类及其方法的声明。2.Project->Setting->Debug可以加入命令行参数。3.在SDK中要加入"windows.h"和stdio.h。因为LoadCursor,MessageBox等函数的声明在这个文件中。4.创建一个完整的窗口的四个步骤SDK,1设计窗口类,2注册窗口类,3创建窗口,4显示窗口5.函数名可以代表函数代码的首地址,即可作为函数指针。6.要查看VC数据类型,可以在MSDN中输入“BOOL”...
VC++ | 2009-03-09 09:34 | 阅读 3859 次 | 评论 0 条

VC视频教程笔记!(4课)

第4课1.在单文档中view挡在MainFrame的前面。此时如果编写针对MainFrame的mouseClick事件,将不会有反应。2.消息响应会在3处修改代码,1处是在头文件中,//{{AFX_MSG(CDrawView)afx_msg void OnLButtonDown(UINT nFlags, CPoint point);afx_msg void OnLButtonUp(UINT nFlags, CPoint point);afx_msg void OnMouseMove(UINT nFlags, CPoint point);//}}AFX_MSGDECLARE_MESSA...
VC++ | 2009-03-09 09:34 | 阅读 2802 次 | 评论 0 条

VC视频教程笔记!(5-7课)

第5课1.CWnd::CreateSolidCaret创建插入符,ShowCaret()显示插入符。GetTextMetrics(),获得当前字体的一些信息。CWnd::CreateCaret()创建图象插入符bitmap.LoadBitmap(IDB_BITMAP1);//此处的bitmap为成员变量!!!CreateCaret(&amp;bitmap);ShowCaret();TEXTMETRIC tm;//字体结构体dc.GetTextMetrics(&amp;tm);//m_ptOrigin.y+=tm.tmHeight;//获得字体高度。2.VC中CString::Load...
VC++ | 2009-03-09 09:34 | 阅读 3584 次 | 评论 0 条

VC视频教程笔记!(8-9课)

第8课 对话框1.如何改变按纽的字体?在对话框的属性中改变字体的属性即可2.逃跑按纽的实现 1.从CButton派生一个类,CWeixinBtn 2.将IDC_EDIT1关联成员变量m_btn1,类型为CWeixinBtn,注意要包含头文件。 3.在CWeixinBtn中加一个指针成员变量CWeixinBtn *pWeixinBtn,然后将其地址初始化。 4.在新类中增加鼠标移动的消息处理。3.属性表单 1.插入属性页资源。Insert->new Resource->Dialog 2.当选择Classwizard菜单时,系统提示是否为创建新的类,...
VC++ | 2009-03-09 09:33 | 阅读 3442 次 | 评论 0 条

VC视频教程笔记!(10课)

第10课1.画图: a.创建四个菜单,为其添加消息响应; b.在View中添加m_DrawType,保存绘画类型; c.增加成员变量,m_PtOrigin,当按下鼠标左键时,保存此点; d.在OnLButtonUp中画点,线,矩形,椭圆,别忘记设置成透明画刷2.为其添加一个设置对话框(线型和线宽) a.创建对话框,为其创建一个新类关联它; b.为其中的线宽关联成员变量; c.在View中增加一个菜单,响应新的对话框; d.添加线型选项设置,将其Group属性选中,并为单选按纽关联成员变量。在view中增加一个线型变量m_nL...
VC++ | 2009-03-09 09:31 | 阅读 2428 次 | 评论 0 条

VC视频教程笔记!(11课)

第11课1.创建4个菜单,为其添加消息响应,用成员变量保存绘画类型。添加LButtonDown和Up消息。2.当窗口重绘时,如果想再显示原先画的数据,则需要保存数据。为此创建一个新类来记录绘画类型和两个点。class CGraph {public:CPoint m_ptOrigin;//起点CPoint m_ptEnd;//终点UINT m_nDrawType;//绘画类型CGraph();CGraph(UINT m_nDrawType,CPoint m_ptOrigin,CPoint m_ptEnd);//此为构造函数。virtual ~CGraph(); }; 然后在vo...
VC++ | 2009-03-09 09:31 | 阅读 2094 次 | 评论 0 条

VC视频教程笔记!(12-13课)

第12课 文件操作1.常量指针与指针常量的区分 char ch[5]="lisi"; const char *pStr=ch;//const在*之前,表明指针指向的内容为常量,即为常量指针 char * const pStr=ch;//const在*之后,表明指针的地址不能改变,即为指针常量 明白?2.对文件读写的三种方法 1.C中 FILE *pFile=fopen("1.txt","w");fwrite("http://www.sunxin.org",1,strlen("http://www.sunxin.org"),pFile' ...
VC++ | 2009-03-09 09:31 | 阅读 2159 次 | 评论 0 条

VC视频教程笔记!(14课)

第14课 网络编程1.TCP流式套接字的编程步骤在使用之前须链接库函数:工程->设置->Link->输入ws2_32.lib,OK!服务器端程序:1、加载套接字库2、创建套接字(socket)。 3、将套接字绑定到一个本地地址和端口上(bind)。4、将套接字设为监听模式,准备接收客户请求(listen)。5、等待客户请求到来;当请求到来后,接受连接请求,返回一个新的对应于此次连接的套接字(accept)。6、用返回的套接字和客户端进行通信(send/recv)。7、返回,等待另一客户请求。8、关闭套接字。客户端程序:1、加载套接字库2、创建套接字(socket)。 3、向服务器发出连接...
VC++ | 2009-03-09 09:30 | 阅读 1247 次 | 评论 0 条
浏览190906次