栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

第四十五篇,STL标准模板库常见算法

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

第四十五篇,STL标准模板库常见算法

TL里面的常用算法
===================================================
   以下这些算法具体通用性(不属于任何一个类):适合数组,所有的容器,字符string
   1.查找 find()
            find(迭代器first,迭代器last,你要找的那个值);
            find_if(迭代器first,迭代器last,函数符);

   2.循环 for_each()
            for_each(迭代器first,迭代器last,函数符)

   3.拷贝 copy()和copy_if()
            copy(迭代器first,迭代器last,迭代器pos)  //把[first,last)范围的数据拷贝到pos位置
            copy(迭代器first,迭代器last,迭代器pos,函数符)
   
   4.删除 remove()和remove_if()
            remove(迭代器first,迭代器last,你要删除的值)
            remove_if(迭代器first,迭代器last,函数符)  

   5.逆序 reverse()
            reverse(迭代器first,迭代器last) 

   6.sort()
            sort(迭代器first,迭代器last)
            sort(迭代器first,迭代器last,函数符)

   7.交换 swap()
            swap(模板参数,模板参数)  //任何类型的数据都可以交换


异常处理
===================================================
   1.C语言异常处理
         通过保存函数的返回值,判断返回值做异常处理
         int fd=open(文件);
         if(fd==-1) //通过返回值判断是否发生了异常(错误)
         {
             异常处理/错误处理
         }

   2.C++异常处理
       C++可以采用C语言的异常处理的方法,但是C++新增了新的异常处理方法
       语法格式:
           try  
           {
              你要调用的函数;
           }catch(你要捕捉的异常类型)
           {
              你捕捉到异常以后需要做的事情(处理异常)
           }
           其他代码
           try语句块:用来测试调用的函数会不会抛出异常
                      如果函数抛出了异常---》catch就会自动捕捉到异常,然后执行catch花括号里面的代码
                      如果函数没有抛出异常(正常执行完毕)---》catch捕捉不到异常,catch花括号里面的代码就不会执行
       抛出异常:C++新增了关键字throw用来抛出各种类型的异常
       捕捉处理异常:C++新增了关键字catch用来捕捉各种类型的异常,然后在catch的花括号里面处理异常
       总结:如果函数使用throw抛出了异常,你必须使用try-catch语句块去捕捉处理异常,不可以再去按照C语言的方式去判断处理异常了
             函数也可以抛出多种不同类型的异常,对应的catch也要分别处理

   3.throw可以抛出两种类型的异常
        第一种:抛出基本数据类型异常
                  throw -1;  //抛出整型异常
                  throw 2.5; //抛出浮点型异常
                  throw "函数调用失败了"; //抛出字符串异常

        第二种:抛出自定义类型异常
                自定义的异常:C++中有个exception类(所有异常的祖先)
                             程序员定义一个子类,继承exception,然后重写exception中的同名虚函数,实现子类自己的方法
                             #include
                             class exception
                             {
                                  virtual const char* what() const noexcept;

                             }

   4.异常声明
         异常声明:告诉程序员,我这个函数可能会抛出某种/某几种异常,也有可能不抛出任何异常
                  const char* what() const noexcept;   //noexcept告诉程序员以及编译器,what方法是不会抛出任何异常的
                  int fun(int n)  throw(int)         //告诉程序员以及编译器,fun方法可能会抛出整型异常
                  int fun(int n)  throw(int,double)  //告诉程序员以及编译器,fun方法可能会抛出整型异常或者浮点型异常


 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1005290.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号