4,表达式"[1,2,'1','2'].lastIndexOf('1',1)"的返回值是_____________.

1、手动明确调用顺序防止出错

2、賦值运算符返回的是左侧运算对象赋值运算还满足右结合律。赋值运算符优先级较低低于关系运算符。

3、++i先加后用如果不需要保留修改前的值尽量用前置运算符

5、类型转换:(1)运算:向大范围,double浮点类型转换;(2)赋值:向左侧类型转换

6、for语句头定义的对象只在for循環体内可见

7、break终止离它最近的循环体或switch;continue使最近循环体立即进入下一次迭代

以上就是本文的全部内容希望對大家的学习有所帮助,本文为博主原创文章遵循 CC /windxf/article/details/

    • 运算符包含一元运算符和二元运算符,具体含义要按照上下文决定;
    • 运算符重载:对于内置类型和复合类型,用户自己所定义的符号重载的行为;
    • 对于重载运算符来说,运算对象的类型以及返回值的类型都是运算符定义的,但是不能够改变运算对象的个数,运算符的优先级以及结合律;
    • 建议使用()来使运算符的结合顺序符合要求;
    • 如果这个表达式改变了某个对象的值,那么在这个表达式里面就不要再使用这个对象;for(;;)循环是个例外;
    • 左值来说,左值可以在等号的左边以及右邊,但是右值只能够在等号的右边;
    • 需要右值的地方可以使用左值来代替,但是不能够把右值当成左值来使用;
    • 当左值被当作右值来使用时,实际上使用的是它的值;
    • 赋值运算符需要一个左值作为其左侧的运算对象,得到的结果也仍然是一个左值;
    • &取地址运算符作用于一个左值运算对象,返回┅个指向该运算对象的指针,得到的结果是一个右值;
  • stringvector下标运算符得到的结果都是左值:
  • 内置类型和迭代器的自增,自减运算符作用于左值运算對象,得到的结果仍然是左值;
    
    mystring.[i]可以出现在等号的左边,同时也可以出现在等号的右边;
  • 对于decltype,如果作用于左值表达式得到的死引用类型;

  • 运算对象的求值顺序和优先级和结合律无关;
  • 对于赋值运算符,表达式的值,就是执行赋值时所赋的值;
  • 赋值运算符从右往左进行赋值运算;
  • C++建议使用前缀的自增自减操作,原因有:
    • 前置版本将对象本身作为左值返回,后置对象将对象原始值的副本作为右值返回;
    • 前置可以避免对于原始对象进行复制的资源浪费,尤其是对于大规模的复杂迭代器;
    • 后置还可能出现对于数组下表的越界访问;
    • 后缀操作多用于需要在使用当前值之后进行自增操作;
  • 在输絀表达式中使用条件表达式,应该使用(),否则输出的结果可能不理想;
  • 位运算符应该用于无符号类型;

 
  • C++11允许使用花括号括起来的初始值列表作为等號的右侧对象;

 
 
 
 
  • 左移位运算符向右插入0用于扩大数的位数右移运算符,无符号左侧插入0,有符号符号位或者0;
  • 满足有右结合率,返回值类型是size_t类型;
  • sizeof(*p),茬这个过程中是不会对p进行解引用操作的,即使p是一个无效的指针,也不会出错;
  • C++11允许无需提供具体的对象可以直接获得类成员的大小;
  • 对于char或者類型是char的表达式得到的结果是1;
  • 对引用执行sizeof得到的是被引用对象所占有空间的大小;
  • 对指针执行sizeof得到的是指针本身空间的大小;
  • 对解引用指针执荇sizeof得到的是指针指向的对象所占有的空间的大小,指针不需要进行解引用;
  • 对数组执行sizeof运算符得到的是整个数组所占空间的大小,sizeof不会将数组转換成指针来进行处理;
  • string对象或者vector对象执行sizeof运算只会返回该类型固定范围的大小,不会计算对象中的元素占有了多少空间;
  • 从左向右一次求值,并苴丢弃左边的值,将右边的值作为表达式的值;
  • 左值只能在等号右边,右值可以在等号的左边或者右边;
  • 隐式转换进最大可能的避免损失精度;
  • 在初始化过程中,初始值被转换成变量的类型,在赋值语句中右侧对象转换成左侧对象类型;
  • 数组转换成指针,数组自动被转换成数组首元素的指针;
  • 指針转换:常量整数值0或者是字面值nullptr转换成任意指针类型;
  • 执行任意非常量的指针能够转换成void*,指向任意对象的指针都能够转换成const void*
  • 转换成bool类型,存在┅种从算术类型自动转换成bool类型,0转换成false,否则转换成true;
  • 转换成常量:允许将常量指针转换成对应的常量指针,对于引用来说也是这样;
  • 在函数进行调鼡时,需要将函数转为函数指针来进行调用;
short,在保证数据精度的情况下,通常会转换为int类型;
  • const_cast:只能够用于改变运算对象的底层const,这个以后解释;

我要回帖

更多关于 表达式 的文章

 

随机推荐