C++编程技巧
文章平均质量分 63
henhen2002
Chao Zuo received B. Sc.degree from the School of Elec. Eng. & Opto.Tech., Nanjing Univ. of Sci. and Tech. in 2009. And he is currently pursuing his Ph.D. degree in the School of Elec. Eng. & Opto. Tech., NUST, Nanjing, P.R. China. He is interested
展开
-
用BCB编写多线程应用程序
随着Windows系统的全球性普及,多线程技术已越来越多地运用到许多软件设计中。使用多线程技术可全面提高应用程序的执行效率。以前为了实现多线程编程,基本上都是调用一系列的API函数,如CreateThread、ResumeThread等,不容易控制,还容易出错。在使用BCB以后,我才发现原来编写多线程程序也可以如此简单!BCB为我们提供了强大的TThread类,从而使得多线程编程变得非常简便转载 2009-07-22 11:21:00 · 673 阅读 · 0 评论 -
关于static void 函数
有些函数声明为 static void ,目的是不会出现在编译成obj文件的符号表中. obj之外的程序就无法链接到这个obj文件的函数。也就是其它文件链接此obj文件时是无法使用此函数的。 static 是说这个函数只在本文件可见。这样避免不同文件写了一个名字的函数出事。static 表示该函数只在本文件内可见;与之相反的是extern,此函数只能在本编译单元(.c)内原创 2009-10-30 12:29:00 · 7233 阅读 · 0 评论 -
静态局部变量(static)用法
有时希望函数中的局部变量的值在函数调用结束后不消失而保留原值,即其占用的存储单元不释放,在下一次该函数调用时,该变量保留上一次函数调用结束时的值。这时就应该指定该局部变量为静态局部变量(static local variable)。 例 静态局部变量的值。 #include using namespace std; int f(int a)转载 2009-09-27 19:37:00 · 27844 阅读 · 1 评论 -
VC命名规则
一、程序风格: 1、严格采用阶梯层次组织程序代码: 各层次缩进的分格采用VC的缺省风格,即每层次缩进为4格,括号位于下一行。要求相匹配的大括号在同一列,对继行则要求再缩进4格。例如: 2、提示信息字符串的位置 在程序中需要给出的提示字符串,为了支持多种语言的开发,除了一些给调试用的原创 2009-09-26 13:34:00 · 1057 阅读 · 0 评论 -
extern 声明
1 基本解释 extern可以置于变量或者函数前,以标示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义。 另外,extern也可用来进行链接指定。 2 问题:extern 变量 在一个源文件里定义了一个数组:char a[6]; 在另外一个文件里用下列语句进行了声明:extern char *a; 请问,这样可以吗? 答原创 2009-09-30 12:41:00 · 983 阅读 · 0 评论 -
头文件和源文件的关系
一、源文件如何根据#include来关联头文件1,系统自带的头文件用尖括号括起来,这样编译器会在系统文件目录下查找。 #include 2,用户自定义的文件用双引号括起来,编译器首先会在用户目录下查找,然后在到C++安装目录(比如VC中可以指定和修改库文件查找路径,Unix和Linux中可以通过环境变量来设定)中查找,最后在系统文件中查找。 #include “xxx.h” 二、头文件如何来关联原创 2009-09-07 20:50:00 · 1249 阅读 · 1 评论 -
struct和typedef struct
分三块来讲述:1 首先: 在C中定义一个结构体类型要用typedef: typedef struct Student { int a; }Stu;于是在声明变量的时候就可:Stu stu1;如果没有typedef就必须用struct Student stu1;来声明这里的Stu实际上就是struct Student的别名。另原创 2009-08-26 13:32:00 · 837 阅读 · 0 评论 -
c++中如何取得随机数
代码: #include #include srand((unsigned int)time(NULL)); int n = rand() % 101; 解释: C++/C语言里,是没有办法得到一个真正的随机数序列的。想要得到一个真正的随机数序列,必须使用特定的随机数硬件发生器。也就是说,软件是没有办法产生真正原创 2009-08-24 16:59:00 · 1690 阅读 · 0 评论 -
VC中对输入设备的响应
一、引言 计算机的重要功能之一就是对操作人员通过输入设备对其的控制进行响应。输入设备是指人能对计算机发出指令的设备,通用的这种设备有键盘、鼠标、游戏杆等。由于这些设备的准确使用使计算机程序具备了人-机交互的强大功能,操作者通过输入设备可以实时地控制计算机各种程序的执行,计算机通过屏幕和其它输出设备把执行情况实时地反馈给操作者。这种功能是各种控制程序必须具备的,而实现程序的各种具体编程语言中也转载 2009-08-21 10:44:00 · 868 阅读 · 0 评论 -
用VC++实现对游戏杆的编程
在WINDOWS95/98中有一个JoystickProperties(游戏杆属性)控制面板。只要你拥有一个支持Joystick连接口的声卡和一个游戏杆,你就能享受它提供的强大功能。在此介绍给大家如何用Visual C++来实现对游戏杆的编程,希望能对大家有所帮助。一 捕获与释放游戏杆那么如何用Visual C++5.0来实现对游戏杆的编程呢?首先必转载 2009-08-22 13:26:00 · 2124 阅读 · 0 评论 -
#if, #elif, #else和#endif
#if (**){语句##;}#endif如果(**)为真,也就是逻辑1,的话就编译下面的语句。如果(**)不为真。则不编译下面的语句。和if else相仿。!defined在一般情况下是这样用的吧:#if !defined **{语句;}#endif它的意思是,如果在程序中没有对**进行过#defined ** 的定义。则编译下面的语句,否则不编译。这中情况多用在需要经常移植的程序模块上,或是原创 2009-07-30 21:46:00 · 920 阅读 · 0 评论 -
用BCB编写多线程应用程序
随着Windows系统的全球性普及,多线程技术已越来越多地运用到许多软件设计中。使用多线程技术可全面提高应用程序的执行效率。以前为了实现多线程编程,基本上都是调用一系列的API函数,如CreateThread、ResumeThread等,不容易控制,还容易出错。在使用BCB以后,我才发现原来编写多线程程序也可以如此简单!BCB为我们提供了强大的TThread类,从而使得多线程编程变得非常简便易转载 2009-07-22 08:29:00 · 685 阅读 · 0 评论 -
使用try/catch捕获异常
在C++中,提供了语句try/catch来捕获异常,其中,try和catch分别用于定义异常和定义异常处理。定义异常是将可能产生错误的语句放在try语句块中。其格式是:try{ 可能产生错误的语句}定义异常处理是将异常处理的语句放在catch语句块中,以便异常被传递来时处理。通常,异常处理是放在try语句块后的由若干个catch语句组成的程序,其格式是:catch(异常类型声明1){原创 2009-07-22 08:01:00 · 4499 阅读 · 0 评论 -
字符串的输入和输出(认识gets()fgets()scanf()和puts()fputs()printf()) ---CCS常用STDIO
字符串输入:gets() char name[20]; printf("Hi,Whats your name?/n"); gets(name); printf("Nice name %s",name);它使用一个地址把字符串赋予name。 char name[20]; char *p; printf("/nEn,Whats your name?/n")原创 2010-03-20 10:48:00 · 1929 阅读 · 0 评论