zoukankan      html  css  js  c++  java
  • 【c++ primer读书笔记】【第2章】变量和基本类型

    1、  无符号类型

    含有无符号类型的表达式,当一个算式表达式中既有unsigned int,又有int时,int会转化为unsigned int,

    如int a=-1,unsigned b=1,则在我的机器中a*b=4294967295。

    无符号数不会小于0也关系到循环的写法

    for(int i=10;i>=0;--i)
          cout<<i<<endl;

    从10到0降序输出

     for(unsigned i=10;i>=0;--i)
          cout<<i<<endl;
    将会导致死循环,当i=0时再减去1得到结果-1并不满足无符号数要求,因此-1自动转换为一个合法的无符号数。

    2、  字符串字面值分行书写

    cout<<" a really long string literal "
    "that spans two lines"<<endl;
    等同于
    cout<<"a really long string literal that spans two lines"<<endl;

    3、  列表初始化

    如果使用列表初始化且初始值存在丢失信息的风险,则编译器报错

    double pi=3.14;
    int a{pi},b={pi};//错误,转换未执行,因为存在丢失信息的风险
    int c(pi),d=pi; //正确,转换执行,且确实丢失了部分值

    4、  Extern语句如果包含初始值就不再是声明,而变成定义了:

    extern double pi = 3.14; //定义

    5、  auto类型说明符

    C++11引入auto,用它能让编译器替我们分析表达式的类型

    double val1=2.0,val2=3.0;
    auto item=val1+val2;//item的类型是double

    6、  decltype类型指示符

    C++11引入decltype,选择并返回操作数的数据类型

    const int ci=0, &cj=ci;
    decltype(ci) x=0;//x的类型是const int
    decltype(cj) y=x;//y的类型是const int&

    注意点:decltype((variable))的结果永远是引用,decltype(variable)的结果只有当variable本身是引用是才是引用

  • 相关阅读:
    python微信机器人
    爬取糗事百科,微信自动发送
    验证码破解
    [Python]机器学习【推荐】
    [Python]利用jieba.analyse进行 关键词 提取
    《将博客搬至CSDN》
    [极限测试]第一日进度
    [Python]调用百度API进行自然语言处理 标签、关键字 以及 词法分析
    学习进度报告【第三周】
    [Python]调用百度地图API对地点进行搜索,利用 JSON 返回纬度/行政区域编号
  • 原文地址:https://www.cnblogs.com/ruan875417/p/4495580.html
Copyright © 2011-2022 走看看