C++ primer 变量和基本类型

1.    当明知晓数值不可能为负时,选用无符号类型

2.    如果数值超过了int的表示范围,选用long long

3.    执行浮点数运算选用double

4.    初始化不是赋值,初始化的含义是创建变量时赋予其一个初始值,而赋值的含义是把对象的当前值擦除,而以一个新值来替代

5.    内置类型的变量未被显示初始化时,定义于任何函数体之外的变量被初始化为0,函数体内部的内置类型不被初始化

6.    分离式编译,在变量名前添加关键字extern,而且不要显示地初始化变量。在函数体内部,如果试图初始化一个由extern关键字标记的变量,将引发错误

7.    C++标识符由字母、数字和下划线组成,其中必须以字母或下划线开头。标识符没有长度限制,但是对大小写敏感

8.    在对象第一次被使用的地方定义它是一种好的选择

9.     列表初始化:使用花括号初始化,当存在丢失信息风险时编译器将报错,而使用()可以执行但可能发生信息丢失

10.   引用:为对象起的别名,定义时必须初始化,不是对象,不可定义引用的引用

11.  指向某个对象,定义时无需赋值,本身就是对象,对指针使用解引用符*可访问该对象

12.   初始化指针:建议用已定义对象或nullptr或0初始化所有指针,把任何int型变量(即使值为0)赋值给指针是错误的

13.   void*指针:可存放任意对象的地址,但不能直接操作其所指对象

14.  通过*的个数可以区分指针的级别,**表示指向指针的指针,以此类推

15.  指向指针的引用,int *p; int *&r=p;  从右向左有助于阅读

16.   多文件共享const:不管声明还是定义都要添加关键字extern

17.   初始化对const的引用:允许任何表达式作为初始值,只要该表达式结果可以转化为引用类型的临时量对象

18.  常量只能用常量引用,引用类型必须一样

19.  指向常量的指针,const指针 从右向左

20.  顶层const:表示指针本身是个常量,底层const:表示指针指的对象是一个常量

21.  执行拷贝操作时,拷入拷出对象必须具有相同的底层const资格,或能够强制转换

22.   常量表达式:数据类型和初始值都需要是常量类型,值不会改变并在编译过程就能得到计算结果

23.   constexpr变量:一定是常量,必须用常量表达式(字面值类型,包括算术类型、引用、指针)或constexpr函数(足够简单编译时可计算结果)初始化

24.   constexpr:在编译期可知     const:不可改变

25.   constexpr指针:初始值是nullptr或0,或存储于某个固定地址中的对象(函数外部)

26.  constexpr int *p = 0;  相当于顶层const

27.  类型别名:(1).typedef double wages;  (2). Using a = double;

28.   指针、常量与类型别名:typedef char*pstring; const pstring cstr = 0;,与const char *cstr不等价,前者的cstr是指向char的常量指针,后者中cstr是指向常量char的指针

29.   类型说明符auto:让编译器通过初始值推算变量类型,并赋诸该值;忽略顶层const,保留底层const

30.  Decltype:选择并返回操作数的数据类型。如果decltype使用的是一个加上了一对括号的变量,则得到的结果就是该变量的类型;如果给变量加上了一层或多层括号,编译器就会把它当成是一个表达式。

31.  预处理器:在编译之前执行一段程序,可以部分地改变我们所写的程序。如:#include ,当预处理器看到#include标记时就会用指定的头文件的内容代替#include

32.  #define指令把一个名字设定为预处理变量,#ifdef 当且仅当变量已定义时为真,#ifndef 当且仅当变量为定义时为真。一旦检查结果为真,则执行后续操作直至遇到#endif指令为止。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值