类型是所有程序的基础。类型告诉我们数据代表什么意思以及可以对数据执行哪些操作。

C++中对类型的支持是非常广泛的:语言自身定义了一组基础类型和修改已有类型的方法,还提供了一组特征用于自定义类型。

2.1基本内置类型

wchar_t类型用于扩展字符,比如汉字和日语,这些字符集中的一些字符不能用单个char表示。

整型:在大多数机器上,使用int类型进行整型计算不易出错。

浮点型:使用double类型基本上不会有错。

2.2字面值常量

只有内置类型存在字面值。

定义长整型时,应使用大写字母L,小写字母l容易和1混淆。

两个相邻的仅由空格、制表符或换行符分开的字符串字面值,可连接成一个新的字符串字面值。这使得多行书写字符串字面值变得简单。

在一行的末尾加一个反斜线符号可将此行和下一行当做同一行处理。

2.3变量

C++两种表达式:左值(可出现在赋值语句左边和右边)、右值(只出现在赋值的右边)

对象是内存中具有类型的区域。

标识符不能包含两个连续的下划线,也不能以下划线开头后面紧跟一个大写字母。

在C++中初始化和赋值是两种不同的操作。

建议每个内置类型的对象都要初始化。

只有当extern声明位于函数外部时,在可以含有初始化式。

任何在多个文件中使用的变量都需要有与定义分离的声明。在这种情况下,一个文件包含变量的定义,使用该变量的其他文件则包含该变量的声明。

通常把一个对象定义在它首次使用的地方是一个很好的方法。

2.4const限定符

非const变量默认为extern。要使const变量能够在其他文件中访问,必须显式的指定它为extern。

2.5引用

const引用是指向const对象的引用。

将普通引用绑定到const对象是不合法的。

const引用可以初始化为不同类型的对象或者初始化为初值。

2.6 typedef名字

隐藏特定类型实现,强调使用类型的目的

简化复杂的类型定义,使其更易理解

允许一种类型用于多个目的,同时使得每次使用该类型的目的明确

2.7枚举

枚举类型的对象的初始化或赋值,只能通过其枚举成员或者同一枚举类型的其他对象类进行。

2.8类类型

编程新手经常会忘记类定义后面的分号,这是个很普遍的错误。

2.9编写自己的头文件

头文件一般包含类的定义、extern变量的声明和函数的声明。

因为有文件包含在多个源文件中,所以不应该含有变量或函数的定义。

头文件可以定义类、值在编译时就已知道的const对象和inline函数。

我们必须保证多次包含同一文件不会引起该头文件定义的类和对象被多次定义。(使用预处理器定义头文件保护符)

为了避免名字冲突,预处理器变量经常用全大写字母表示。

转载于:https://www.cnblogs.com/klxiaohao/archive/2012/03/05/2381060.html

【C++ Primer学习笔记】第2章:变量和基本类型相关推荐

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

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

  2. C++ Primer 学习笔记 第一,二章

    2021年4月4日,我终于开始学习C++啦,下面的笔记会记录着我的心酸的学习历程,每个标题会记录着下面代码在<C++中文版 Primer>中的页码 P6 实现两数之和 # include ...

  3. Linux shell编程学习笔记-----第六章变量和引用

    6.1变量 变量可分为本地变量(随着shell进程的消亡而消亡,类似于java C++ 中的局部变量),环境变量(适用于所有由登录进程产生的子进程),位置参数(用于向shell脚本传递参数,是只读的) ...

  4. C++ Primer 学习笔记 第十七章 标准库特殊设施

    标准库特殊设施 637 初始化tuple #include <iostream> #include <vector> #include <string> #incl ...

  5. c++primer学习笔记

    c++ primer 5e学习笔记 第1章 1.标准库 类型和函数的集合,每个c++编译器都必须支持. 2.()运算符:调用运算符.跟随在函数名后,起调用函数的作用 第2章 1.p32:char在一些 ...

  6. MATLAB学习笔记04—MATLAB的字符与字符串类型

    MATLAB学习笔记 第4章字符和字符串类型 提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 MATLAB学习笔记 一.字符串属性示例 二.字符串数组的索引 三.字符串中的 ...

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

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

  8. C++ Primer 学习笔记(第四章:表达式)

    2019独角兽企业重金招聘Python工程师标准>>> ##C++ Primer 学习笔记(第四章:表达式) [TOC] ###4.1 基础 左值和右值: 当一个对象被用作右值的时候 ...

  9. 《C Primer Plus》学习笔记—第9章

    目录 <C Primer Plus>学习笔记 第9章 函数 1.复习函数 1.引入 2.创建并使用简单的函数:程序lethead1.c 3.分析程序 4.函数参数 1.程序lethead2 ...

  10. 《C Primer Plus》学习笔记—第12章

    目录 <C Primer Plus>学习笔记 第12章 存储类别.链接和内存管理 1.存储类别 1.作用域 2.链接 3.存储期 4.自动变量 1.程序hiding.c 2.没有花括号的块 ...

最新文章

  1. php 61850,南瑞内部61850培训教程很好很强大-系统集成文档类资源
  2. delphi listview 获取行高_《我的侠客》布料怎么获得 布料获取方法
  3. 利用键盘钩子捕获Windows键盘动作
  4. 安卓BLE开发教程(一) BLE基础
  5. 支付宝前端推出《Web前端开发入门手册》
  6. iOS中 陀螺仪/加速器 韩俊强的博客
  7. Android 视频展示控件之 SurfaceView、GLSurfaceView、SurfaceTexture、TextureView 对比总结...
  8. 关于鼓励软件产业和集成电路产业发展有关税收政策问题的通知
  9. java script和java有什么区别_Java中final finally finalize的区别(其实没什么联系 不过面试官喜欢这么问)
  10. pivot sqlserver 条件_SqlServer行转列(PIVOT),列转行(UNPIVOT)总结
  11. C10K 和 C1000K 回顾
  12. VMwareTools安装工具linux.iso
  13. 3点画矩形的lisp_在CAD中,如何在这个矩形里面再画三个这样的矩形
  14. [Windows] ISCSI发起程序实例不存在
  15. 根据时间排序(collection.sort())
  16. 生活四大勤,让老人延年益寿
  17. linkerd服务网格调研笔记
  18. C语言动态申请内存空间之malloc(),calloc(),realloc()函数
  19. 水源热泵系统的优点和缺点有哪些?
  20. c语言中<< , >>的作用

热门文章

  1. 项目设计基础:处理过程设计相关知识介绍​
  2. 电脑小常识:电脑键盘失灵怎么办?
  3. 硬件基础:虚拟内存相关知识介绍?
  4. 电脑中毒的表现有哪些?电脑中毒了怎么办?
  5. Spring Boot 集成 Druid 监控数据源
  6. STM32 定时器中断
  7. 语音媒体和信令的测试软件,IP多媒体子系统信令分析工具的设计与实现
  8. angelica类似_亲爱的当归(Angelica)是第一个让我哭泣的VR体验
  9. 回答知乎问题:你写过什么自认为惊艳的诗?
  10. restful-api-design-references