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

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. 三十四、动态规划解决01背包问题
  2. 6位图灵奖得主,10多位院士,19个分论坛:北京智源大会邀你共同探索AI下一个十年...
  3. 签名build apk: Could not resolve all files for configuration ':app:lintClassPath' 问题
  4. 数据结构基础:栈和队列学习笔记
  5. (jquery插件)打造百分比动态色彩条
  6. 当前FreeBSD的版本
  7. Android 系统(136)---OTA 差分升级包的制作
  8. matlab2c使用c++实现matlab函数系列教程-awgn函数
  9. word多级标题下一级和上一级没有关联上
  10. DroidCamX – 让您的 Android 安卓手机瞬间变成电脑的高清无线摄像头
  11. python下载安装教程(详细步骤+图示)
  12. php怎么做一个音乐播放器,实现一个HTML5音乐播放器的实例
  13. 关于Jenkins下载代码失败,“Error cloning remote repo ‘origin‘“
  14. C++报错 invalid operands to binary expression
  15. 2019/9/1 ecam5
  16. 五分钟手操赶走鼠标手
  17. 智能数字图像处理:图卷积SGN代码(pytorch)之model.py解读
  18. javaweb学生签到考勤请假系统
  19. 解决GoLand上面出现的Couldn‘t copy unpacked SDK问题
  20. Keil5安装和使用小记

热门文章

  1. 电脑:电脑弹窗广告三个解决方法,欢迎收藏!
  2. 电脑知识:Win10系统把系统盘的软件移到D盘的简单方法
  3. 事务管理基础:数据库的并发控制相关知识笔记
  4. JAVA:说说你对序列化的理解
  5. 系统开发基础:UML中图的相关知识笔记(上)
  6. 硬件:RS232、RS422和RS485的区别
  7. 成为优秀程序员应该具备的8个特质
  8. 定时/计数器(定时和计数的功能)、定时器中断
  9. HTTP协议中常见请求方法以及一些常见错误代码
  10. Mysql 必知必会(一)