VC6中编译参数设置
主要通过VC的菜单项Project-Settings-C/C++页来完成。我们可以看到这一页的最下面Project Options中的内容,一般如下: /nologo /MDd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_AFXDLL" /D "_MBCS" /Fp"Debug/WritingDlgTest.pch" /Yu"stdafx.h" /Fo"Debug/" /Fd"Debug/" /FD /GZ /c 各个参数代...
vim quick ref card
初学有用,值得打印了贴在电脑旁 VIM QUICK REFERENCE CARD Basic movement h l k j . . . . . . . . . . . . character left, right; line up, down b w . . . . . . . . . . . . . . . . . . . . . . . . . . . . . word/token left, right ge e . . . . . . . . . . . . . . . . . . . ....
大对象的传递和返回
如果一个对象很小,寄存器可以放得下,一般是通过寄存器返回的,这个寄存器一般是EAX,但是如果对象足够大,以至于寄存器放不下,那么编译器是如何处理这个对象的传递和放回的呢? code: #include "stdafx.h" struct big { char buf[100]; int i; // long d; } B, B2; big bigfun(big b) { b.i = 100; return b; } int main(int argc, char* argv[]) { B2 = bigf...
嵌套对象的copy-constructor
当用一个已经初始化过了的自定义类类型对象去初始化另一个新构造的对象的时候,拷贝构造函数就会被自动调用,如果你没有自定义拷贝构造函数的时候系统将会提供给一个默认的拷贝构造函数来完成这个过程。Copy构造函数有一个参数,这个参数是一个该类的对象。例如CString的构造函数CString( const CString stringSrc )就是一个Copy构造函数。 代码: #include iostream.h #include string.h #include fstream.h ofstream o...
thinking in c++ 之static小结
static最基本的含义是:“位置不变的某个东西“,这里指的是内存中的位置或者文件中的可见性 1,在c和c++中,static的两种含义: (1),静态存储。 (2),对一个特定的编译单元来说是本地的,这个名字在这个单元或类之外不可见。 2,static对象将存储在程序的静态存储区中,而不是在堆栈中。这个对象只在汉书第一次调用是初始化,其后不用再初始化。 3,对于静态对象的初始化,零赋值只对预定义对象有效,用户自定义的类型必须用构造函数初始化。 4,静态对象的析构函数在程序的main()函数退出时,或者...
C++习题与解析(重载)
05.设计一个日期类Date,包括年、月、日等私有数据成员。要求实现日期的基本运算,如一日期加上天数、一日期减去天数、两日期相差的天数等。 解: 在Date类中设计如下重载运算符函数: Date operator+(int days); 返回一日期加一天数得到的日期 Date operator-(int days); 返回一日期减去天数得到的日期 int operator-(Date b); 返回两日期相差的天数 在实现这些重载运算符函数调用以下私有成员函数: leap(int); 判断指定的年份是否为...
C++习题与解析(引用)
05.设计一个类Sample,实现两个复数的乘法运算。 解: Sample类包括复数的实部和虚部,以及实现复数相乘的成员函数mult()和输出复数的成员函数disp()。 本题的程序如下: #includeiostream.h class Sample { float a; // 实部 float b; // 虚部 public: Sample(){} Sample(float x,float y){a=x;b=y;} void mult(Sample s) // 对象引用作为参数 { if(s==th...
C++习题与解析(类和对象)
题 1.分析以下程序执行的结果 #includeiostream.h #includestdlib.h class Sample { public: int x,y; Sample(){x=y=0;} Sample(int a,int b){x=a;y=b;} void disp() { cout"x="x",y="yendl; } }; void main() { Sample s1(2,3); s1.disp(); } 解:本题说明了重载构造函数的定义方法。首先定义了一个类Sample,在main(...
C++如何处理内联虚函数
当一个函数是内联和虚函数时,会发生代码替换或使用虚表调用吗? 为了弄清楚内联和虚函数,让我们将它们分开来考虑。通常,一个内联函数是被展开的。 class CFoo { private: int val; public: int GetVal() { return val; } int SetVal(int v) { return val=v; } }; 这里,如果使用下列代码: CFoo x; x.SetVal(17); int y = x.GetVal(); 那么编译器产生的目标代码将与下面的代码段一...
Access数据库规格C++
Access 2000中文版为例 打开帮助,找到以下条目 设置和定义microsoft Access - Microsoft Access 规格 Microsoft Access 数据库常规规格 ------------------------------------------------- 属性 最大值 数据库(.mdb)文件大小 2G字节。 不过,由于数据库可以包括其他文件中的链接表,所以它的大小仅实际上只受可用存储空间大小的限制。 数据库中的对象个数 32,768 模块(包括HasModule属...
a simple menu programme
#includeconio.h #includestdio.h main() { strUCt text_info r; int col=16,row=6; char *info1=" WELCOME TO THE STUDENT MANAGE SYSTEM"; char *info2=" Contact Me:"; char *info3=" QQ:45569671"; char *info4=" MobilePhone:13186335317"; char *info5=" E-Mail:sunji...
51单片机KeilC延时程序的简单研究
应用单片机的时候,经常会遇到需要短时间延时的情况。需要的延时时间很短,一般都是几十到几百微妙(us)。有时候还需要很高的精度,比如用单片机驱动DS18B20的时候,误差容许的范围在十几us以内,不然很容易出错。这种情况下,用计时器往往有点小题大做。而在极端的情况下,计时器甚至已经全部派上了别的用途。这时就需要我们另想别的办法了。 以前用汇编语言写单片机程序的时候,这个问题还是相对容易解决的。比如用的是12MHz晶振的51,打算延时20us,只要用下面的代码,就可以满足一般的需要: mov r0, #09...