我是靠谱客的博主 成就歌曲,最近开发中收集的这篇文章主要介绍《C++ Primer》读书笔记第五章——语句,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

语句大部分都了解,所以摘录的点不多

switch 的case标签必须是 “整型常量表达式”
2个case标签不能相同
几个标签执行相同操作:
    case 1:
    case 2:
    case 3:
            fun();
           break;

或者  
case 1:case 2:case 3:fun();break;

不允许出现这种情况
case 1:
        定义并“初始化”某变量
        break
case 2;
        使用case1中的变量

但允许这种情况
case 1:
        定义某变量,没初始化
        break
case 2;
        使用case1中的变量

因为case1和case2实际上在一个{}块内


do
{}
while(int i = 0) 是错的,不可以在do while的条件中定义变量,反过来可以


goto 如果跳过了一个定义加初始化, 并且还使用到,那么是错的

如果定义并初始化某变量,并向上goto回到定义之前,则该变量会被销毁并重新创建



try语句和异常处理

throw类似于return,是发生错误时, throw抛出1个异常对象

例如
if(I am boy)
    throw runtime_error("I like you")
runtime_error是标准库异常类的一种, 这里会直接退出当前函数。


try
{
要做的操作
}catch(异常类  对象)
{
    对象.what()就是建立 runtime_error时的字符串
}
即尝试做某件事, 如果这件事出bug了,用catch捕捉抛出的异常类,通过判断其对象err.what(),来分别处理




多层try:
    发送异常时,从内层向外层找对应的catch, 如果都没有, 程序进入terminate标准函数,并退出当前程序


exception  常见问题类

运行错误:
runtime_error   运行时出错类
range_error    结果超出定义范围
overflow_error    计算上溢
underflow_error   计算下溢

逻辑错误:
logic_error       程序逻辑错误
domain_error   值不存在
invalid_argument    无效参数
length_error       长度错误
out_of_rang    值错误e
 除了 exception  bad_alloc和bad_case是默认初始化外,  其他异常都用字符串来初始化,  并只有一个名为what的成员函数,  类型是const char*

最后

以上就是成就歌曲为你收集整理的《C++ Primer》读书笔记第五章——语句的全部内容,希望文章能够帮你解决《C++ Primer》读书笔记第五章——语句所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(38)

评论列表共有 0 条评论

立即
投稿
返回
顶部