zoukankan      html  css  js  c++  java
  • c++第二十八天

    p140~p144:
    逗号运算符
    1、特点:1)规定运算顺序,即由左向右。2)逗号运算符的真正结果是右侧表达式的值!

    练习 4.31

    使用后置的运算符会有额外的内存开销,

    在这道题中使用前置和后置结果貌似是一样的,不需要改。。。

    #include<iostream>
    using std::cout;
    using std::endl;
    #include<vector>
    using std::vector;
    int main()
    {
        vector<int> ivec(10);    // 包含10个初始化的元素
        vector<int>::size_type cnt = ivec.size();
        for (vector<int>::size_type ix = 0; ix != ivec.size(); ix++, cnt--) {
            ivec[ix] = cnt;
        }
        for (int &x : ivec) {
            cout << x << endl;
        }
        return 0;
    }
    /* output:
    10
    9
    8
    7
    6
    5
    4
    3
    2
    1
    */

    练习 4.32
    遍历ia中的元素。ix代表元素下标,ptr逐个存放对应元素的地址。

    练习 4.33
    someValue ? ++x, ++y : --x, --y;
    先判断someValue的值,若是true,则执行:左侧的表达式,x、y的值依次加1,最后返回y,若是false,
    则执行:右侧的表达式,x、y的值依次减1,最后返回y(左值)。

    p141
    类型转换
    1、如果两种类型可以相互转换,那么它们就是关联的。

    2、隐式转换。

    3、运算对象被统一成最宽的类型。

    4、整型提升:负责把小整数类型转换成较大的整型类型(int或者unsigned int)

    练习 4.34
    a 非布尔值转换成布尔类型。
    b ival转化为float类型,然后相加,转化为double型;或者,fval和ival都转化为double型后相加。
    c cval提升成int,相乘后的int值转换成double型。

    练习 4.35
    a 'a'提升成int,相加后得到的int转换为char。
    b 都转化为unsigned类型,右侧结果也会转化为unsigned,最后转化为float类型。
    c 整数型转化为浮点型,相乘后转换成左侧运算对象double类型。
    d 统一成double型后转换为char类型。

  • 相关阅读:
    C# Win7系统下为应用程序取得管理员权限
    bootstrap 列函数
    bootstrap table offset 参数问题
    java 调用webservcie ,自己亲测可用
    sqlserver 生成数据字典
    css 色彩大全网址
    C#遍历指定文件夹中的所有文件和子文件夹
    ajax 跨域调用webservice 使用jsonp解决方法
    XML 类型数据转化为表
    SQL SERVER 查询未提交的事务
  • 原文地址:https://www.cnblogs.com/xkxf/p/6511978.html
Copyright © 2011-2022 走看看