计算机二级考试C语言辅导:C++编程技巧

计算机二级考试C语言辅导:C++编程技巧,第1张

计算机二级考试C语言辅导:C++编程技巧,第2张

1.使用new和delete
运算符进行动态内存分配和释放new和delete是C++中新增的运算符,提供了动态分配和释放存储的功能。其功能相当于C语言中的malloc()和free(),但性能更胜一筹。与malloc()相比,使用new有以下优点:
(1)new自动计算要分配类型的sizeof,不需要使用sizeof运算符,既省事又可以避免出错。
(2)自动返回正确的指针类型,无需强制进行指针类型转换。
(3)分配的对象可以用new初始化。
使用示例:
(1)int * p;
p = new int[10];//分配一个包含10个整数的整数数组
delete[]p;//删除这个数组
(2)int * p;
p = new int(100);//动态赋值一个整数并初始化
二、用内联函数代替宏调用
对于经常使用的函数,C语言建议用宏调用代替函数调用,以加快代码执行速度,减少调用开销。但是,宏调用有很多缺点,可能会产生不良的副作用。比如macro: # define ABS (a) (a)因此,在C++中应该用inline函数代替宏调用,这样既能达到宏调用的目的,又能避免宏调用的弊端。
要使用内联函数,只需将inline关键字放在函数的返回类型之前。例如:
inline int Add(int a,int b);//将Add()声明为内联函数
,这样当编译器遇到Add()函数时,就不再调用该函数,而是直接嵌入函数代码,加快程序的执行速度。
三。在C语言中使用函数重载
,两个函数的名字不能相同,否则会造成编译错误。在C++中,函数名相同但参数数据类型不同的两个函数被解释为重载。示例:
void PutHz(char * str);//在当前位置输出汉字
void put Hz (int x,int y,char * str);//在x,y
处输入数字使用函数重载可以帮助程序员处理更复杂的问题,避免使用复杂的函数名如intabs()、fabs()、dabs()等。同时,在大型程序中,函数名易于管理和使用,不必绞尽脑汁处理函数名。同时必须注意,参数数据类型相同但函数返回类型不同的两个函数不能重载。
四。用引用代替指针传递参数
在C语言中,如果一个函数需要修改作为参数使用的变量值,那么应该将参数声明为指针类型。例如:
void add(int * a)
{
* a++;
}
呼叫时使用
Add(& x);//其中x是int或者可以转换成int的类型,比如unsigned int,但是此时编译器给出警告
return
对于复杂的程序,使用指针容易出错,程序很难读懂。在C++中,对于上述情况,可以用引用代替指针,使得程序更加清晰易懂。引用是变量的别名,对引用的操作等同于对原始变量的操作。比如引用函数定义为:
void add(int & a)
{
a++;//引用
}
是一个整数,用
Add(x)调用;//其中x是int
。这个函数与前面使用指针的函数功能相同,但是代码更加简洁明了。

位律师回复
DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » 计算机二级考试C语言辅导:C++编程技巧

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情