编程软件系列之C++编程本领[VC/C++编程]
本文“编程软件系列之C++编程本领[VC/C++编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
C++语言是一个面向对象的语言,利用C++编写的代码越发简便、高效,更具可保护性和可重用性.但是很多人利用了C++语言后却感到C++与C编程没有什么辨别.这其实是由于对C++语言的特点和特点理解和利用不够造成的.事实上,没有任何一个程序员利用C语言的编程效率可以超越C++语言的.
1、利用new和delete举行动态内存分配和释放
运算符new和delete是C++新增的运算符,供应了存储的动态分配和释放功效.它的作用相当于C语言的函数malloc()和free(),但是性能更为优胜.利用new较之利用malloc()有以下的几个长处:
(1)new自动计算要分配范例的大小,不利用sizeof运算符,对比费事,可以避免错误.
(2)自动地返回精确的指针范例,不用举行强迫指针范例转换.
(3)可以用new对分配的对象举行初始化.
利用例子:
(1)int ?p;
p=new int[10]; //分配一个含有10个整数的整形数组
delete[] p; //删除这个数组
(2)int ?p;
p=new int (100);//动态分配一个整数并初始化
2、利用inline内连函数替换宏调用
关于频繁利用的函数,C语言倡议利用宏调用替换函数调用以加快代码履行,削减调用开销.但是宏调用有很多的弊端,大概惹起不盼望的副作用.比方宏:#define abs(a) ((a)<0?(-a):(a)), 当利用abs(I++)时,这个宏就会出错.
所以在C++中应当利用inline内连函数替换宏调用,这样既可到达宏调用的目的,又避免了宏调用的弊端.
利用内连函数只须把inline关键字放在函数返回范例的前面.比方:
inline int Add(int a,int b);//声明Add()为内连函数
这样编译器在碰到Add()函数时,就不再举行函数调用,而是直接嵌入函数代码以加快程序的履行.
3、利用函数重载
在C语言中,两个函数的名称不能相同,不然会招致编译错误.而在C++中,函数名相同而参数差别的两个函数被注释为重载.比方:
void PutHz?char ?str?? //在当前位置输出汉字
void PutHz?int x?int y?char ?str?? //在x,y处输出汉字
利用函数重载可以帮忙程序员处理更多的复杂问题,避免了利用诸如intabs()、fabs()、dabs()等复杂的函数名称;同时在大型程序中,使函数名易于管理和利用,而没必要挖空心机地去处理函数名.
4、利用引用(reference)替换指针举行参数传送
在C语言中,假如一个函数需求改正用作参数的变量值的时刻 ,参数应当声明为指针范例.比方:
void Add?int ?a? ???a?++??
但是关于复杂的程序,利用指针简单出错,程序也难以读懂.在C++中,关于上述情形 可以利用引用来替换指针,使程序越发清楚易懂.引用就是对变量取的一个体名,对引用举行操作,这就相当于对原有变量举行操作.比方利用引用的函数定义为:
void Add?int a? ?a++??? //a为一个整数的引用
这个函数与利用指针的上一个函数的功效是一样的,但是代码却更为简便和清楚易懂.
以上是“编程软件系列之C++编程本领[VC/C++编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |