- 博客(12)
- 资源 (3)
- 收藏
- 关注
原创 2010/11/10
<br />2010/11/10<br />关键字:函数重载、函数指针<br />函数重载<br />出现在相同作用域中的两个函数,如果具有相同的名字而形参表不同,则称为重载函数(overloaded function)。<br />main函数不能重载。<br />如果两个函数声明的返回类型和形参完全相同,则将第二个函数声明为第一个的重复声明。如果形参表完全相同,但是返回类型不同,则第二个声明是错误的。<br />编译器会忽略函数的形参名字,下面的声明是等价的:<br />void func(int i)
2010-11-11 12:21:00 504
原创 2010/11/9
<br />2010/11/9<br />关键字:函数<br />零散知识点<br />1. 主函数main的返回值是有一定意义的,返回0代表正常运行,其他大部分返回值则表示失败.返回码的意义跟机器有关,cstdlib头文件中定义了两个预处理变量,分别表示程序运行成功和失败:<br />#defineEXIT_SUCCESS 0<br />#defineEXIT_FAILURE 1<br />2. 如果main函数没有显式返回值,则编译器会隐式的插入返回0的语句.<br />
2010-11-10 16:40:00 396
原创 2010/11/8
<br />2010/11/8<br />关键字:函数<br />函数零散知识点<br />通常函数不应该有vector和其他标准库容器类型的形参.调用含有普通的非引用vector形参的函数会复制vector中的每一个元素.<br />有两种方法避免,将形参改为引用类型或将需要处理的迭代器作为形参来传递容器.<br />数组做形参<br />1. 数组有两个特性,一是不能复制数组,二是使用数组名字时,数组名会自动转换为指向其第一个元素的指针.虽然不能直接传递数组,但是函数的形参可以写成数组的形式.
2010-11-10 16:39:00 407
原创 2010/11/7
<br />2010/11/7<br />关键字:使用预编译器进行调试<br /> <br />预编译变量<br />C++标准<br />#ifndefNDEBUG<br /> //...<br />#endif<br />VC8编译器<br />#ifdef_DEBUG<br /> //...<br />#endif<br /> <br />其他预编译变量:__FILE__、__LINE__、__TIME__、__DATE__<br />assert<br />另一种调试技术是assert(
2010-11-10 16:37:00 434
原创 2010/11/5
<br />2010/11/5<br />关键字:delete、类型转换<br /> <br />delete<br />1. 必须确保delete的指针是用new分配的地址指针.<br />2. 0指针可以delete,但是没有任何意义.<br />3. 多次重复delete同一块内存会破坏自由存储区.<br />4. const动态对象也需要用delete释放掉.<br />constchar*p = newchar;<br />deletep;<br />5.
2010-11-08 12:12:00 387
原创 2010/11/06
<br />2010/11/6<br />关键字:语句<br /> <br />零散知识点<br />1. for循环中声明的变量在for循环外是不可见的,但是早期C++编译器还是支持的.VC8不支持,VC6支持.<br />2. 悬垂else.<br />if (/**/)<br /> if (/**/)<br /> {<br /> }<br />else<br />{<br />}<br />else实际是对应内层的if的.<br />else匹配给最后出现的
2010-11-08 12:10:00 356
原创 2010/11/04
<br />2010/11/4<br />关键字:算术表达式<br /> <br />零散知识点<br />1. 短路求值,&&和||.<br />2. bool字面值的true为1,flase为0<br />if (val) //正确<br /> ...<br />if (val == true)//错误<br /> ...<br />3. 位操作符操作signed的整型时,系统无法确保如何处理其操作数的符号位.所以强烈建议使用unsigned
2010-11-05 12:54:00 332
原创 2010/11/03
<br />2010/11/3<br />关键字:C风格字符串<br /> <br />C风格字符串(C-style character string)<br />以空字符null结束的字符数组.<br />charc1[] = {'C', '+', '+'}; //不是C风格字符串<br />charc2[] = "C++"; //是<br /> <br />C风格字符串标准库<br />必须包含头文件#include<cstring><br />cstring是strin
2010-11-04 21:25:00 392
原创 2010/11/02
<br />2010/11/2<br />关键字:指针和const限定符<br /> <br />用const限定指针<br />唯一的作用是不能通过解引用该指针的方式修改所指向的对象的值.<br />constint *p; //const指针声明时可以不初始化,虽然是不被推荐的<br />constintval1 = 0;<br />intval2 = 0;<br />p = &val1; //const指针可以指向const对象<br />p = &val
2010-11-02 17:32:00 359
原创 2010/11/01
<br />2010/11/1<br />关键字:指针<br /> <br />指针的声明、定义和初始化<br />理解指针声明语句时需要从右向左阅读.<br />char *p1, p2;<br />p2为char型变量,p1为char型指针.<br /> <br />一个有效的指针必须是以下三种状态之一:<br />1. 保存一个特定对象的地址.<br />2. 指向某个对象后面的另一个对象.<br />3. 0值.<br /> <br />一定要避免使用未初始化的指针.必须
2010-11-02 17:31:00 407
原创 2010/10/31
2010/10/31关键字:数组数组声明数组的维数必须用值大于等于1的常量表达式定义。包括整型字面值、枚举常量或用常量表达式初始化的const对象。即数组的维数必须在编译时确定。#includeusingstd::vector;constintbufsize = 10;intGetSize(){ return 0;}constinti = GetSize(); //i位于常量内存区中,未初始化intmain(){ chararray[i];
2010-11-01 22:58:00 526
原创 2010/10/30
2010/10/30关键字:bitsetbitset使用bitset必须包含头文件和命名空间:#includeusing std::bitset;类似vector,bitset类也是一种模板,但其对象区别在于长度而不是类型.在定义bitset时要明确bitset含有多少位,必须在中给出长度:bitset bitvec; //32位初始化为全0有下面几种初始化方式:bitset初始化方式bitset b;b有n位,初始化为全0bitset b(u);b有n位,初始化为unsigned lon
2010-11-01 22:33:00 346
继承自BCB的定时器Timer
2008-10-08
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人