基本内置类型

  • 如何选择类型的几点建议

    • 当明确知晓数值不能为负数时,选用无符号类型
    • 使用int进行整数运算。因为short一般表示的范围比较小,而long一般和int有相同的范围。如果表示的范围超过了int就使用long long
    • 算术运算时尽量不要使用char和bool,只有在存放字符型数据和布尔值的时候使用。因为char的符号在有的机器上面是有符号,在另外的一些机器上面确实无符号的,很容易出错。
    • 执行浮点数运算时使用double。因为float的精度不够而且float和double的计算代价相差无几,甚至有些机器上面double的运算速度比float的速度快。
  • 类型转换
    • 当我们赋值给无符号类型一个超过了它表示的范围时,结果是初始值对无符号类型表示范围最大值取余后的结果。例如8bit大小的unsigned char,把-1给它,结果是-1%256,所得结果是255.
    • 把一个负数转化成一个无符号类型的时候,类似于直接给一个无符号数赋值为一个负数,结果等于这个负数加上无符号数的模(例如上例)。
    • 切勿混用有符号和无符号类型的数据进行运算。
  • 字面值常量
    • 转义序列
含义 字符 含义 字符
换行符 \n 回车符 \r
纵向制表符 \v 纵向制表符 \t
反斜线 \ 退格符 \b
问号 \? 进纸符 \f
报警(响铃符) \a 双引号 \”
单引号 \’ 退格符 \b

还有一种泛化的转义序列

含义 符号
响铃 \7
空字符 \0
换行 \12
字符M \115
空格 \40
字符M \x4d

注意:如果反斜线后面跟着的八进制数字超过3个,只有前3个数字与\构成转义序列


变量

  • 变量定义和声明

    • 建议初始化每个内置类型的变量。这样防止不初始化后直接使用带来的危害。
    • 声明和定义的区别:声明规定了变量的类型和名字,而定义在此基础之上还申请空间,也可能为变量赋初值。
    • 我们可以使用extern int i;的形式,使用在其他文件中定义的变量
    • 变量只能被定义一次可以被声明很多次,变量的定义必须出现在一个文件中,而其他用到该变量的文件必须对其进行声明,但是不能重复的定义
  • 标识符的几点建议
    • C++中标识符由字母,数字和下划线组成,且必须以字母或者下划线开头
    • 标识符能体现实际含义
    • 变量名一般用 小写字母
    • 用户自定义的类名以大写字母开头
    • 如果标识符由多单词组成,则单词中间应该有明显的标识

复合类型

  • C++中有几种复合类型,其中最主要的是指针和引用
  • 引用
    • 引用不是对象,它是给已经存在的对象所起的一个别名
    • 因为引用不是一个对象,所以不能定义引用的引用
    • 引用只能绑定在某个对象身上,即是引用在定义时必须赋初值,而且中间不能改变引用的指向,不能和字面值或者表达式结果绑定在一起
  • 指针
    • 指针和引用区别:指针是一个对象,允许对指针进行赋值或者拷贝,而且在指针的生命周期内,允许它先后指向几个不同的对象;指针无需在定义时赋初值。
    • 因为引用不是对象,没有实际地址,所以不能定义指向引用的 指针
    • 解引用操作是针对指针而言的,解引用操作适用于那些确定了指向了某个对象的有效指针。
    • 建议初始化所有指针
    • 面对比较复杂的指针或者引用的声明的时候,从右往左阅读有助于理解他的真实含义

《C++primer》第二章--变量和基本内置类型相关推荐

  1. 《C++ Primer 第五版》第二章(1-4小节)------基本内置类型,初始化和赋值及声明和定义,指针和引用,const和constexpr

    C++ Primer第二章的内容主要介绍了变量和基础类型,包括C++语言定义的基础内置类型.变量的定义及声明.符合类型如指针及引用的介绍和const及常量表达式constexpr的介绍,本次博客也从这 ...

  2. c++primer 第二章 变量和基本类型

    2.1基本内置类型 基本数据类型有算数类型和空类型 2.1.1算术类型 算术类型表 内存最小可寻址内存块:字节(byte,大小为8bit):存储单元为4或8字节(32位机上32bit,64位机上64位 ...

  3. C++中文版本primer 第二章变量和基本类型 学习笔记

    2.2变量 2.2.1 变量定义 列表初始化 定义一个名字为units_sold的int变量并初始化为0 int units_sold = 0; int units_sold = {0}; int u ...

  4. C++Primer读书笔记----第二章变量和基本类型

    前段时间学习iphone开发,非常力不从心,很多C/C++的类库代码看不明白.大学的时候都学过C/C++,但是基本上忘光了,现在做C#开发,经常写出来一些性能低下的代码,究其原因就是原理掌握不扎实,乱 ...

  5. 《C++Primer》第二章-变量和基本类型-学习笔记(1)

    <C++Primer>第二章-变量和基本类型-学习笔记(1) 文章目录 <C++Primer>第二章-变量和基本类型-学习笔记(1) 摘要 主体 基本(内置)类型 算数类型 整 ...

  6. C++ primer第五版学习记录:第二章变量和基本类型

    C++ primer第五版学习记录:第二章变量和基本类型 断断续续把第二章看完用了大概两周时间,发扬一下之前默写的传统,顺便让自己梳理一下该章节的具体框架及结构.可能会有理解错误的地方,欢迎大家批评指 ...

  7. JavaScript第二章——变量及数据类型 2021-09-26

    前言 新手小白JavaScriptt(第二章--变量及数据类型 2021-09-26)学习笔记,欢迎大佬多留言指导,跪谢!!! 一.变量声明 变量:从字面上看,变量是可变的量.从编程角度讲,变量是存储 ...

  8. 学习笔记 | Python编程从入门到实践 | 第二章变量和简单数据类型

    前言 小白记录自己学习python的学习贴,如有错误请大佬指正 第二章是变量和简单数据类型的学习. 关于变量 在程序中随时可以修改变量的值,python将始终记录变量的最新值 变量名只能包含字母.数字 ...

  9. python笔记第二章---变量

    第二章:二进制与字符编码 1.二进制与字符编码 机器认识的ASCII表---对应8个位置等于1byte   1024byte=1kb   1024kb=1mb   1024mb=1024GB  102 ...

最新文章

  1. VMprotect静态跟踪 字节码反编译
  2. 从个人到团队:思维转变是关键
  3. 人脸检测与识别年度进展概述
  4. ue4材质节点怎么用_济南装修:阳台储物柜用什么材质好?怎么保养阳台储物柜?...
  5. 多线程—Thread类及线程三种创建方式及对比
  6. vue amp; nuxt 博客网站
  7. TMS320VC5509片内ADC采集
  8. “可视化”的数据分析落伍了?
  9. 顶级MySQL主从复制企业应用
  10. CentOS 大量的TIME_WAIT解决方法
  11. 数量积、向量积、混合积
  12. 【ARM基础概念:ARMv7架构,ARM(ARM7、ARM9)、Cortex-M4、M7等内核、MCU、MPU、SOC,STM32的一些概念】
  13. 阿里云价格/报价 - 阿里云服务器最新收费标准
  14. XZ_iOS 之开发者账号续费 你的支付授权失败 请核对你的信息并重试 或尝试其他支付方式 请联系你的银行了解更多信息
  15. 关于DC-DC电源的总体概述
  16. 踩坑_consul_“At least one health check on one instance is failing“
  17. 城市天际线 for Mac城市建造类游戏
  18. iOS开发(一)——Object-c语言基础(2、数据类型与表达式)
  19. java dofinal_Java Mac.doFinal方法代碼示例
  20. android录制语音,Android语音录制的代码

热门文章

  1. Linux服务器搭建常用环境(一)
  2. 丽水风光(二)—劫色“古堰画乡”
  3. php explore im,浏栏器器-explore.class.php_php
  4. 《OpenCV3编程入门》学习笔记7 图像变换(四 )仿射变换
  5. usaco Superprime Rib
  6. mysql所有班级名称和人数_mysql数据库优化课程---12、mysql嵌套和链接查询(查询user表中存在的所有班级的信息?)...
  7. 王建春计算机应用基础,计算机应用基础(本)教学指南.pdf
  8. c语言中求一个数的因数,【代码】求一个数的因数和、求优化、顺便也供新人参考算法...
  9. 您有一个新的订单mp3在线_Airtable,不仅仅是强大的在线表格应用,而是一个新物种...
  10. 反arp攻击软件_谈谈电子欺骗中的ARP欺骗