当前位置: 首页 > news >正文

四博网站备案西固网站建设

四博网站备案,西固网站建设,广州做网站建设的公司,南海网站推广0.目录 1.创建异常对象时的空指针问题 2.LinkList 中的数据元素删除 3.LinkList 中遍历操作与删除操作的混合使用 4.StaticLinkList 中数据元素删除时的效率问题 5.StaticLinkList 是否需要提供析构函数#xff1f; 6.StLib 是否有必要增加多维数组类#xff1f; 1.创建异常对…0.目录 1.创建异常对象时的空指针问题 2.LinkList 中的数据元素删除 3.LinkList 中遍历操作与删除操作的混合使用 4.StaticLinkList 中数据元素删除时的效率问题 5.StaticLinkList 是否需要提供析构函数 6.StLib 是否有必要增加多维数组类 1.创建异常对象时的空指针问题 ISSUE 1——创建异常对象时的空指针问题 改进Exception.cpp 在init函数中改进strdup的赋值方法 void Exception::init(const char* message, const char* file, int line) {/* message指向的字符串有可能在栈上有可能在堆空间还有可能在全局数据区* strdup()将字符串复制一份到堆空间中* file发生异常的文件名* line发生异常的行号* m_location的长度加2一个给:一个给\0*/m_message (message ? strdup(message) : NULL);if( file ! NULL ){char sl[16] {0};itoa(line, sl, 10);m_location static_castchar*(malloc(strlen(file) strlen(sl) 2));if( m_location ! NULL ){m_location strcpy(m_location, file);m_location strcat(m_location, :);m_location strcat(m_location, sl);}}else{m_location NULL;} } 2.LinkList 中的数据元素删除 ISSUE 2——LinkList 中的数据元素删除 单链表的实现没有考虑异常安全性 改进LinkList.h中的remove函数和clear函数 bool remove(int i){bool ret ((0 i) (i m_length));if( ret ){Node* current position(i);Node* toDel current-next;current-next toDel-next;m_length--;destroy(toDel);}return ret;}void clear(){while ( m_header.next ){Node* toDel m_header.next;m_header.next toDel-next;m_length--;destroy(toDel);}} 3.LinkList 中遍历操作与删除操作的混合使用 ISSUE 3——LinkList 中遍历操作与删除操作的混合使用 混合使用导致了m_current指向了已经被删除的结点于是程序出错。 改进LinkList.h中的remove函数 bool remove(int i){bool ret ((0 i) (i m_length));if( ret ){Node* current position(i);Node* toDel current-next;if( m_current toDel ){m_current toDel-next;}current-next toDel-next;m_length--;destroy(toDel);}return ret;} main.cpp测试 #include iostream #include LinkList.husing namespace std; using namespace StLib;int main() {LinkListint list;for(int i0; i5; i){list.insert(i);}for(list.move(0); !list.end(); list.next()){if( list.current() 3 ){list.remove(list.find(list.current()));cout list.current() endl;}}for(int i0; ilist.length(); i){cout list.get(i) endl;}return 0; } 运行结果为 4 0 1 2 4 4.StaticLinkList 中数据元素删除时的效率问题 ISSUE 4——StaticLinkList 中数据元素删除时的效率问题 改进LinkList.h中的destroy函数 void destroy(Node* pn){SNode* space reinterpret_castSNode*(m_space);SNode* psn dynamic_castSNode*(pn);for(int i0; iN; i){if( psn (space i) ){m_used[i] 0;psn-~SNode();break;}}} main.cpp测试 #include iostream #include StaticLinkList.husing namespace std; using namespace StLib;int main() {StaticLinkListint, 10 list;for(int i0; i5; i){list.insert(i);}list.remove(3);for(int i0; ilist.length(); i){cout list.get(i) endl;}return 0; } 运行结果为 0 1 2 4 5.StaticLinkList 是否需要提供析构函数 ISSUE 5——StaticLinkList 是否需要提供析构函数 构造函数与析构函数不会发生多态于是调用的是父类的析构函数 改进StaticLinkList.h 在子类StaticLinkList中实现析构函数 ~StaticLinkList(){this-clear();} 6.StLib 是否有必要增加多维数组类 ISSUE 6——StLib 是否有必要增加多维数组类多维数组的本质数组的数组 不需要定义多维数组 使用DynamicArray创建多维数组 #include iostream #include DynamicArray.husing namespace std; using namespace StLib;int main() {DynamicArray DynamicArrayint d;d.resize(3);for(int i0; id.length(); i){d[i].resize(i 1);}for(int i0; id.length(); i){for(int j0; jd[i].length(); j){d[i][j] i * j;}}for(int i0; id.length(); i){for(int j0; jd[i].length(); j){cout d[i][j] ;}cout endl;}return 0; } 运行结果为 0 0 1 0 2 4 实践经验 是软件就有bug因此需要不停的迭代升级解决问题。库是一种特殊的软件产品也会存在各种bug也需要迭代升级解决问题。转载于:https://www.cnblogs.com/PyLearn/p/10123468.html
http://www.huolong8.cn/news/82197/

相关文章:

  • 挂机宝可以做网站网站建设和实现
  • 呼和浩特网站制作网站运营核心
  • 网站建设安全与维护阿里巴巴装修网站
  • 怎么制作h5seo推广平台服务
  • 一个网站的建设流程有哪些沧州泊头纯设计网站制作
  • 哪些网站做微课赚钱做零食网站的原因
  • 做网站去哪里找怎么才服务器上做网站
  • 江苏国龙翔建设网站.wordpress 国人 原创 主体
  • 网站工商标识做网站的公司负责北京公司注册费用
  • 网站的尾页要怎么做wordpress文章总是发布失败
  • ssh网站开发的书籍北京摇号网站维护
  • 郑州个人网站开发聚名网下载
  • 取公司名字优化设计数学
  • 给被k的网站做友链能在线做实验的网站
  • 潜江市网站网站悬浮qq
  • 厦门做模板网站的公司东莞附近的网络推手公司
  • 个人能进行网站开发wordpress在线文件管理插件
  • 可信网站多少钱湘潭今天最新通知
  • 做邀请函的网站外贸网络营销的主动营销有哪些
  • 广州平面设计沧州seo包年优化软件排名
  • 嘉兴市城乡规划建设管理网站asp_asp.net_php哪种做网站最好?
  • 广州市酒店网站设计胶州专业网站建设公司
  • 怎样做网站平台wordpress 资料
  • 阿里云 个人网站 名称wordpress 待办事项
  • 电子商务建设网站行业自建网站
  • 自己做的网站项目面试OA 公司网站 铁道建设报
  • 离型剂技术支持东莞网站建设网站建设与管理收获
  • 网站源码偷取工具个人简历模板网站
  • 站长工具seo推广 站长工具查询北京专业建设网站价格
  • 红孩子网站建设做骗子网站