语句

语句

范围for语句

C++11引入范围for语句,注意如果需要对序列中的元素执行写操作,循环变量必须声明成引用类型:

vector<int> v = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
for(auto &r : v)
    r *= 2; 

do while语句

do whilewhile相似,区别是,do while语句先执行循环体后检查循环条件。至少执行一次循环。注意条件后面的分号。

do
    statement
while(condition);

正是因为先执行循环体才判断循环条件,所以不能在条件部分定义新的变量而在循环体里用。

goto语句:尽量不用

//...
int ix = 10;
goto end;
end:
ix = 42;

try语句块和异常处理

C++语言中,异常处理包括:

throw表达式:抛出一个异常

try语句块:处理异常,以catch子句结束

一套异常类:用于在throw和相关的catch子句之间传递异常的具体信息

示例:把两个Sales_item对象相加,只有同一种书籍才能相加,否则抛出异常

while(cin >> item1 >> item2){
try{
    if(item1.isbn() != item2.isbn())
        throw runtime_error(“Data must refer to same ISBN”);
    cout << item1 + item2 << endl;
}catch(runtime_error err){
    cout << err.what()
         << “\nTry Again? Enter y or n” << endl;
    char c;
    cin >> c;
    if(!cin || c == ‘n’)
        break;
}
}
每个标准库异常类都定义了名为 what 的成员函数。 runtime_error what() 函数返回的是初始化 runtime_error 对象时初始化它的 string Data must refer to same ISBN

如果没能为异常找到匹配的catch子句,程序转到terminate的标准库函数,使程序非正常退出。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值