第四章 表达式

一、几点注意:

        1、在算数运算时,注意各个类型的值的范围,避免发生溢出。

        2、除非必须,否则不用递增或递减运算符的后置版本。

二、成员访问运算符

    string str = "A String !", *pStr = &str;
    auto n = str.size();
    n = (*pStr).size();
    n = pStr->size();
    n = *pStr.size();	// 错误pStr是一个指针,没有成员函数size()

三、条件运算符

    string strFinalGrade = (grade < 60) ? "fail" : "pass";	// 条件运算符之间不宜过多的嵌套

四、sizeof运算符

        sizeof运算符返回一条表达式或一个类型名字所占的字节数,其返回的值是 一个size_t类型的无符号数。

    SalesData data, *p;
    sizeof(SalesData);	// 存储SalesData类型的对象所占的空间大小
    sizeof(data);	// data的类型的大小,即上一语句
    sizeof p;		// 指针所占的空间大小
    sizeof *p;		// p所指的类型的对象所占的空间大小
    sizeof data.revenue;// SalesData类revenue成员变量对应的类型的大小
    sizeof SalesData::revenue;	// 同上,  C++11  中新增
    // 对数组执行sizeof运算符将得到真个数组所占的空间的大小
    // 对string或vector对象执行sizeof运算只返回该类型固定部分的大小,不会
    //   计算对象中的元素占用了多少空间

五、类型转换

        1、隐式类型转换

        2、强制类型转换

  • 命名的强制类型转换:cast-name<type>(expression)
  • 旧式的强制类型转换:type(expr);    // 函数形式的强制类型转换        (type)expr;    // C语言风格的强制类型转换

        *注意:在程序中尽可能的避免强制类型转换,应该寻找其它的解决办法。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值