C++primer第4版第五章第六章表达式和语句
2016-12-03 15:24
176 查看
Talk is cheap, show me the code.
switch的所有case后都必须是常量,不能是变量。switch如果有多个case执行相同语句,每个判断的case都应该保留:
变量定义的作用域只限于它所在的块内。
注意do{}while(condition);后面是由分号的。
注意在for循环中初始化语句如果定义两个变量的类型相同,只写一个变量类型即可,否则可能报错:
常见的调试技术:NDEBUG预处理变量,assert预处理宏。
NDEBUG预处理变量:通过预处理语句#ifndef NDEBUG #ifdef NDEBUG #endif等之类进行分支判断,调试不同的语句,而NDEBUG是否预定义可以通过编译命令添加,比如g++ -DNDEBUG main.c -o main。
assert预处理宏:首先需要包含cassert头文件,再需要判断的地方加上assert(statement);语句,如果没有定义NDEBUG变量,statement为true,则输出信息终止程序运行,如果statement为false,则继续执行程序。
C++的异常处理机制try-catch和java类似,头文件stdexcept定义了一些常见的异常类型,比如runtime_error,必须通过字符串来实例化传递错误信息,catch捕捉到错误后通过what()函数打印出抛出的错误信息。
switch的所有case后都必须是常量,不能是变量。switch如果有多个case执行相同语句,每个判断的case都应该保留:
switch (a) { case 1: case 2: a *= 2; break; case 3: a *= 3; }
变量定义的作用域只限于它所在的块内。
注意do{}while(condition);后面是由分号的。
注意在for循环中初始化语句如果定义两个变量的类型相同,只写一个变量类型即可,否则可能报错:
for(int i = 0, int j = 0; i < 2 && j < 2; ++i, ++j){} //g++报错j qualified-id,去掉j前面的int即可
常见的调试技术:NDEBUG预处理变量,assert预处理宏。
NDEBUG预处理变量:通过预处理语句#ifndef NDEBUG #ifdef NDEBUG #endif等之类进行分支判断,调试不同的语句,而NDEBUG是否预定义可以通过编译命令添加,比如g++ -DNDEBUG main.c -o main。
assert预处理宏:首先需要包含cassert头文件,再需要判断的地方加上assert(statement);语句,如果没有定义NDEBUG变量,statement为true,则输出信息终止程序运行,如果statement为false,则继续执行程序。
C++的异常处理机制try-catch和java类似,头文件stdexcept定义了一些常见的异常类型,比如runtime_error,必须通过字符串来实例化传递错误信息,catch捕捉到错误后通过what()函数打印出抛出的错误信息。
#include <stdexcept> try { throw runtime_error("hello"); } catch (runtime_error err) { cout << err.what() << endl; } catch (exception err) { cout << err.what() << endl; }
相关文章推荐
- 《C++primer》 表达式 语句
- SQL表达式,条件语句与运算
- GNU C语言的 扩展(一)语句表达式
- LCC编译器的源程序分析(28)函数表达式语句
- 例解GNU C之表达式中的复合语句
- C++primer第4版第三章标准库类型
- 语句和表达式
- C++primer第4版第十二章类
- Lua表达式和语句
- 运算符、表达式、语句
- 【JavaScript】(2)标识符与关键字\基本|引用数据类型 \变量 \运算符与表达式\流程控制语句
- php中switch语句case后表达式写法记录一
- 常见表达式语句的反汇编(x86)
- 使用正则表达式解析语句
- 重构手法38:Replace Nested Conditional with Guard Clauses (以卫语句取代嵌套条件表达式)
- 2.入门第二课:javascript运算符、表达式、语句
- 2016年8月20日第五章 运算符、表达式和语句
- c++primer第四章 表达式
- Shell脚本[运算表达式,条件控制语句]
- ↗☻【编写可维护的JavaScript #BOOK#】第3章 语句和表达式