最全C++知识点--表达式与语句

1 赋值运算符

int i=0,j=0,k=0;

const int ci=i;

前置的递增运算符:先算后用,后置的递增运算符:先用后算。递减一样。

3 成员访问运算符

string s1="a string",*p=&s1;

auto n=(*p).size();

n=p->size();

4 iter的类型是vector<string>::iterator,

*iter++;  合法   (*iter)++;  不合法  *iter.empty() 不合法    

Iter->empty(); 合法    ++*iter; 不合法       iter++->empty(); 和法

5 在大多数表达式中,比int类型小的整形值提升为较大的整数类型;

在条件中,非布尔值转换布尔类型;

初始化过程中,初始值转换成变量的类型,在赋值语句中,右侧运算对象转换成左侧运算对象的类型;

如果算术运算或关系运算的运算对象有多种类型,需要转换成同一种类型;

6 强制类型转换

int i = 2, j = 1;

double slope = static_cast<double>(j) / i; //静态类型转换

double d = 3.14;

void *p = &d;

double *dp = static_cast<double *>(p);

cout << *dp << endl;

//const_cast只能改变运算对象的底层const

const char *pc = "yu linfeng";

char *p2 = const_cast<char *>(pc);

cout << p2 << endl;

//reinterpret_cast为运算对象的位模式提供较低层次的重新解释

int *ip;

char *pc= reinterpret_cast<char*>(ip);

7 break语句

break语句负责终止离它最近的while, do while, for或switch语句,并从这些语句之后的第一个语句继续执行。

8 continue语句

continue语句终止最近的循环中的当前迭代并立即开始下一次迭代。

9 标准异常

Exception   最常见的问题

Runtime_error  运行时才能检测的问题

Range_error  运行时错误,生成结果超出有意义的值域范围

Overflow_error  运行时错误,计算上溢

Underflow_error  计算下溢

Logic_error     程序逻辑错误

Domain_error   参数对应的结果不存在

Invalid_argument    无效参数

Length_error     长度错误

Out_of_range    使用一个超出有效范围的值

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值