美文网首页
第2章 变量和基本类型

第2章 变量和基本类型

作者: b036101467d7 | 来源:发表于2019-05-19 17:37 被阅读0次

1. 如果数值超过了int的范围,用long long;在算数表达式中不要使用char 或 bool;执行浮点运算用double

2. 当一个算数表达式中既有无符号数又有int时,那个int值将转换成无符号数。切勿混用带符号类型和无符号类型

3.对象初始化值:列表初始化;string规定如果没有指定初值则生成一个空串;建议初始化每一个内置类型的变量

4. 如果想声明一个变量而非定义它,就在变量名前添加关键字extern,而且不要显示的初始化变量;变量能且只能被定义一次,但可以被声明多次

5. C++是一种静态类型语言,即标识符需要先声明再使用

6. 当你第一次使用变量时,再定义它,定义尽量靠近使用的地方。

7. 引用必须被初始化,因为引用无法重新绑定到另一个对象;引用不是对象,因此不能定义引用的引用

8. 指针的值应属下列4种状态之一:

1)指向一个对象

2)指向紧邻对象所占空间的下一个位置

3)空指针,意味着指针没有指向任何对象

4)无效指针,也就是上述情况之外其他值

9. 现在的C++程序最好使用nullptr,尽量避免使用NULL

10. void *是一种特殊的指针类型,可以存放任意对象的地址

11. 面对一条比较复杂的指针或引用的声明语句时,从右向左阅读有助于弄清楚真实含义。

12. const对象必须初始化

const int i = get_size();//运行时初始化

const int j = 42; //编译时初始化

13. constexpr 变量:由编译器验证变量是否是一个常量表达式。声明为constexpr的变量一定是一个常量,而且必须用常量表达式初始化。

constexpr int mf = 20;

constexpr int limit = mf + 1;

constexpr int sz = size();//只有size()是一个constexpr函数时,才是一条正确的声明语句。

14. typedef 与using 用于类型别名:

typedef double wages;

typedef wages base, *p;

using SI = Sales_item;

15. auto类型说明符:用它可以让编译器为我们分析变量的类型

const int ci = 0;

auto &g = ci;//g是一个整形常量引用

auto &h = 42;//错误:不能为非常量引用绑定字面值

const auto &j = 42;//正确:可以为常量引用绑定字面值

15. decltype

编译器分析表达式的类型,但不实际计算表达式的值

decltype(f()) sum = x; //sum的类型就是函数f的返回类型

const int ci = 0, &cj = ci;

decltype(ci) x = 0;//x的类型时const int

decltype(cj) y = x;//y的类型时 const int &

decltype(cj) z;//错误:z是一个引用,必须初始化

int i = 42, *p = &i, &r = i;

decltype(r+0) b;//正确:加法结果是int,因此b是一个int

decltype(*p) c;//错误:c是int &,必须初始化

因为r是引用,因此decltype(r)的结果是引用类型

如果表达式的内容是解引用,则decltype将得到引用类型

decltype(*p)的结果就是int &, 而非int

decltype((variable)) 双层括号的结果永远是引用,而decltype(variable)的结果是variable的类型。

变量加上括号相当于表达式。

16. 类通常定义在头文件中,且头文件名字与类名相同

17. 预处理变量无视C++语言中关于作用域的规则。

相关文章

  • JavaScript 高级程序设计(第4章 变量、作用域和内存问

    第4章 变量、作用域和内存问题 1. 基本类型和引用类型 基本数据类型:Undefined、Null、Boolea...

  • JS变量类型,存储方式以及特点

    1.JS变量类型 JS变量类型分为基本类型和引用类型 基本类型:基本类型有Undefined,String,Num...

  • 2018-05-30 变量 typeof() 和instance

    1:变量的类型 变量分为基本类型和引用类型,5种基本数据类型和1种引用类型 基本数据类型: String Bool...

  • JS变量,作用域,内存问题

    基本类型和引用类型 js中变量类型分为两大类。基本类型和引用类型。基本类型指值直接保存在变量本地的类型。引用类型变...

  • JS之变量、作用域和内存

    变量及作用域 1、基本类型和引用类型的值ECMAScript 变量:基本类型值和引用类型值。将一个值赋给变量时,解...

  • c++ primer 阅读 day3

    第2张 变量和基本类型 2.2.2 变量声明和定义的关系 声明(declaration) 使得名字为程序所知定义(...

  • c++ primer

    2 变量和基本类型。 2.1 变量和基本类型。 c++定义了一套 算术类型和空类型,算术类型主要是整型(包括boo...

  • 第四章小结-作用域链

    1.变量分为基本类型和引用类型。基本类型变量有数字,字符串,布尔值和undefined。引用类型就是对象和函数。 ...

  • Java 变量和基本数据类型

    变量和基本数据类型 变量 ​ 保存数据的存储单位(容器) ​ 声明变量的语法: 类型 变量名称 基本数据类...

  • 数据类型

    Java中,变量分为两种:基本类型的变量和引用类型的变量。 基本数据类型(基本数据类型是CPU可以直接进行运算的类...

网友评论

      本文标题:第2章 变量和基本类型

      本文链接:https://www.haomeiwen.com/subject/qpjqzqtx.html