NOTE:2014-12-24

[ 2014-12-31]

析构函数,是除构造函数之外的另一种特殊的成员函数。类的析构函数的名字是在类名之前添加发音字符“~”后形成的字符序列。析构函数必须是public的。

句柄,它在物理上表现为UINT,32位无符号整数。现在应该理解的是,如何用这个整数去找到对象指针,它是通过一张Process Handle Table,Handle Table就像一个中转站,你把这个整数给它,它帮你找出整数对应的指针。如此而以。

time_t类型是什么意思?如下:


time_t实际上就是长整型long int,它用来保存从1970年1月1日0时0分0秒到现在时刻的秒数。用time()这个函数获取。

[ 2014-12-30]

堆栈(stack):即相关数据项的集合。
堆栈被称为是“后进先出(last-in,first-out, LIFO)”的数据结构——最后压到(插入到)堆栈中的项最先从堆栈中弹出(移除)。

标识符的存储类别决定了标识符在内存中存在的时间。
C++提供了5个存储类别说明符: autoregisterexternmutablestatic
默认情况下局部变量是自动存储类别的,因此很少用关键字auto。把自动存储类别的变量称为自动变量。
存储类别说明符register可以放在自动变量声明的前面,以建议编译器在计算机的高速硬件寄存器中,而不是在内存中,保存此变量。如果将频繁使用的变量(如计数器与总和)保存在硬件寄存器中,那么重复地把变量从内存加载到寄存器及把结果返回到内存而引起的开销就可以消除了。
关键字register只能与局部变量和函数形参一起使用。

枚举类型是一组由标识符表示的整数常量,以关键字 enum开头,后跟类型的名字。
枚举常量的默认起始值是0,并且顺序增1。也可以自行指定起始值。
作为用户自定义类型名的标示符,其第一个字母最好是大写。
枚举常量的名字只使用大写字母。
常见的枚举类型如:
enum Months { JAN = 1, FEB, MAR, APR, MAY, JUN, JUL, AUG, SEP, OCT, NOV, DEC };

随机数生成器的随机化:可以通过C++标准库函数srand()来实现。srand()函数接收一个无符号整型实参,作为函数rand()的种子,用来在每次程序执行时都生成不同的随机数序列。
srand()以一个unsigned int值作为形参,其 函数原型在头文件中。
为了在随机化时不用每次都输入种子,可以使用如下语句:
srand( time( 0 ) );
这条语句使计算机通过读取自己的时钟来获得种子值。
time()的函数原型在头文件中。

对于随机数生成,如果想随机生成1~6之间的数(如模拟掷骰子),可以用rand()函数和取模运算符”%“,如:
rand() % 6
用取模运算符的原理是,任何两个数相除的余数都必须小于除数,因此,将6设置为除数,就可以使取模运算的结果(亦即余数)控制为0~5之间的数。

实参类型升级规则:int类型的数据转换成double类型不会影响它的值;double类型转换成int类型时会截去double值的小数部分。

函数的原型即为函数的声明,告诉编译器函数的名字、返回类型和形参的类型。

如果函数在调用前就已定义,那么函数的定义也可以作为函数的原型,这样,就无需单独地再写函数原型(也亦即不需要声明函数了)。但如果函数在定义的前面被调用,并且没有相应的函数原型,那么会出现编译错误。
我们总是提供函数原型,即使在函数使用前已经定义了函数。提供函数原型避免了按照函数定义的顺序来使用函数(这样也使得程序修改起来比较容易)。

和类成员函数一样,全局函数的函数原型要放在头文件中,这样那些包含该头文件的任何程序就能复用这个全局函数,并且可以连接到该函数的目标代码。
头文件中的所有函数都是全局函数。
sqrt( double )有一个double类型的实参,并返回double类型的结果。

代码段:
cout << "The girl is really beautiful !" << "I like her so much !"
等价于:
cout << "The girl is really beautiful !""I like her so much !"
和:
cout << "The girl is really beautiful !"
           "I like her so much !"
C++编译器合并相邻的字符串文字,即使它们出现在程序的不同行上,所以,上面的语句中,C++编译器将字符串文字"The girl is really beautiful !"和"I like her so much !"合并成单一的字符串文字"The girl is really beautiful ! I like her so much !"。

\":双引号字符,用cout可以打印出双引号的一半”"“
\n:换行字符

C++标准库的string类定义了成员函数length(),它返回string对象中的字符串个数。例如,name.length(),是string对象name的一个成员函数调用,它返回name字符串的个数。

标准类string提供了成员函数substr(即“substring”的缩写),它返回一个新的string对象,该对象是通过复制已存在string对象的一部分而创建的。例如,string对象name调用标准类string中的substr函数:name.substr( 0,25),括号中两个整数作为实参传递到name的数据成员substr中。这两个实参指示了字符串name的一部分,它们应该是substr的返回值。其中,第一个实参说明了在原始字符串中开始复制字符的起始位置(每个字符串中第一个字符的位置看做0),第二个实参指定了复制的字符个数。在此例中,调用返回一个25个字符的name子串,该串从name的0位置开始(即name的前25个字符)。

[ 2014-12-29]
问:C中的string.h在C++中变成了cstring,但是C++中的string和cstring有什么区别?答:你可以用标准的string,也可以用cstring。如果没什么必要还是用string吧。之所以有cstring,那是历史原因。cstring诞生的时候,C++标准还没出来。 http://zhidao.baidu.com/question/268945513.htmlhttp://zhidao.baidu.com/question/453427483.html

[ 2014-12-24]

sprintf_s是一个函数,函数功能:将数据格式化输出到字符串。

C/C++中%的使用:在printf或者fprintf里面的%表示的是占位符的概念;%s代表字符串输出,%d代表整型输出,在C中,%可用来代表整除和处理输出的格式等,而在c++中,用做整除,因为有了专门的控制输出的语句,所以其他地方不太用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值