程序体会及易犯错误

程序体会及易犯错误

ID:35428173

大小:58.98 KB

页数:4页

时间:2019-03-24

程序体会及易犯错误_第1页
程序体会及易犯错误_第2页
程序体会及易犯错误_第3页
程序体会及易犯错误_第4页
资源描述:

《程序体会及易犯错误》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、1・在C++中,经常会用到类,很多时候都会包含多次头文件,为了使头文件只编译一次,可用以下形式#ifndefK#defineKttendif这样大括号这一段内容电脑只编译一次,不会产生重定义的错误。2.写代码时,在'二二'和‘二‘时,一定要标记清楚。3•在用链表时,如果pt二NULL,那么pt=pt->next这语句是错误的;4.数据结构(链表等)动态开辟空间,如果程序中将链表合并,则被合并的之一不存在了,它的head指针应该二NULL,另外clear中,以county二0,或head二NULL有时要稍微改一下。结

2、束时调用析构函数,如果不能正常调用析构函数,则程序不能正常结束(卡住)。5.指针也是一种类型,与int,char无差异。用指针作参数,如果要修改指针本身的地址,则需要加&,参数为&指针。如果只修改指针指向的内容,不需要加友。6.文件输入:有如下一些charch;fin>>ch;charbuf[80];fin>〉buf;fin.getline(buf,80);stringline;getline(fin,line);//从文件中读取一个字符//从文件中读取一个词〃从文件中读取一行信息//从文件读取信息,赋给strin

3、g对象7.在广度搜索和深度搜索中,遍历过的元素要进行标记。广度的非递归和深度的非递归有一定的相似性,前者使用队列,后者使用堆栈。8.(以Complex和float为例[complex有real和imag转换构造函数(类有多个数据,但是该函数只有一个参数)。如Complex(floatr);类型转换函数(将Complex转化为float,该函数没有参数)。operatorfloat(){returnreal;}这两个函数都是系统自动调用的。9•在二叉树的插入操作中思考下面的代码为什么会错?voidBinaryTree

4、::insert(constEntry&item){BinaryNodc*pt=root;if(root==NULL){root二newBinaryNode(item);count++;return;}else{while(pt!=NULL)//pt是自己创建的指针,不是原来二{//叉树屮的元素if(itemdata)pt=pt->left;elseif(item>(*pt)->data)pt二pt->right;else//pt没有改变二叉树的信息return;}pt二newBinaryNode(ite

5、m);count++;一个指针时,需要把pt改成引用,才能修改二叉树的结构如下修改voidBinaryTree::insort(constEntry&item){BinaryNode**pt二&root;if(root二二NULL){root二newBinar^^Nodc(item);count++;return;}else{wh订e(*pt!二NULL){if(item<(*pt)->data)pt二&((*pt)->left);elseif(item>(*pt)->data)pt二&((*pt)-〉right)

6、;elsereturn;*pt=newBinaryNode(item);count++;}下面是两个指针的方法与以前的链表,队列,堆栈的插入操作相似voidBinaryTree::insert(constEntry&item)BinoryNodc*pt=root;BinaryNode*pt2二root;if(root二二NULL){root=newBinaryNode(item);count++;return;}else{whilc(pt!=NULL){pt2=pt;if(itemdata)pt二pt->

7、left;elseif(item>pt->data)pt=pt->right;elsereturn;}pt二newBinaryNodc(item);if(pt->datadata)pt2->left=pt;elsept2->right二pt;count++;}}10.递归的函数中,如果有要返回值时,且在递归中有可能被改变时,一定要保存下来。例如:在AVL树的插入和删除操作递归时,result的值有可能会被改变掉,因此每次都要将返回值赋值给result;ResuIt二avlinsert(*****);11

8、.C语言中,wait()函数在头文件<sys/wait.h>中声明。exit()函数在头文件<stdlib.h>中声明。

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。