第一部分 基本语言包括从第二章到第八章。第一章只是快速入门,进入第二章了~瓦咔咔~~

变量和基本类型

类型是所有程序的基础。它告诉我们数据代表什么意思以及可以对数据执行哪些操作。C++语言定义了几种基本类型:字符型、整型、浮点型等。C++还提供了可用于自定义数据类型的机制,标准库正是利用这些机制定义了许多更复杂的类型,比如可变长字符串string、vector等。

脚印:

1.算术类型:

类    型

含    义

最小存储空间

bool

布尔型

NA

char

字符型

8位

wchar_t

宽字符型

16位

short

短整型

16位

int

整型

16位

long

长整型

32位

float

单精度浮点型

6位有效数

double

双精度浮点型

10位有效数

long double

扩展精度浮点型

10位有效数

让存储具有结构的最基本方法是用块(chunk)处理存储,通常将8位的块作为一个字节,32位或4个字节作为一个“字(word)”。

2.字面值常量:课通过在数值后面加L或l(字母“l”大写或小写)指定常量为long类型。推荐使用“L”。

类似地,可通过在数值后面加U或u定义unsigned类型。同时加L和U就能够得到unsigned long类型的字面值常量。但其后缀不能有空格:

128u       /* unsigned   */     1024UL    /* unsigned long   */

1L    /* long   */     8Lu  /* unsigned long   */

3.没有short类型的字面值常量!

4.各种转义字符同C语言。'/0'通常表示“空字符(null character)”。为了兼容C语言,C++中所有的字符串字面值都由编译器自动在末尾添加一个空字符。

5.不要依赖未定义的操作:使用了未定义操作的程序都是错误的,如果程序能够运行,也只是巧合。未定义的操作源于编译器不能检测到的程序错误或太麻烦以至无法检测的错误。

6.多行字面值:在一行的末尾加一反斜线符号可将此行和下一行当作同一行处理。注意反斜线符号必需是该行的尾字符——不允许有注释或空格符。

7.(New) C++程序员常常把变量称为“变量”或“对象(object)”。

8.(New)左值右值

(1) 左值(lvalue,发音为ell-value):左值可以出现在赋值语句的左边或右边。

(2) 右值(rvalue,发音为are-value):右值只能出现在赋值的右边,不能出现在赋值语句的左边。

(3)变量是左值,因此可以出现在赋值语句的左边。数字字面值是右值,因此不能被赋值。

9.初始化:C++支持两种初始化变量的形式:复制初始化(copy- initialization)和直接初始化(direct-initialization)。复制初始化语法用等号(=),直接初始化是把初始化式放在括号中:

int ival(1024);     // direct-initialization

int ival = 1024;    // copy-initialization

这两种情形中,ival都被初始化为1024。

10.初始化不是赋值!!!

11.内置类型变量是否自动初始化取决于变量定义的位置。在函数体外定义的变量都初始化成0,在函数体里定义的内置类型变量不进行自动初始化。

12.使用未初始化的变量是常见的程序错误,通常也是难于发现的错误~~~

13.可以通过使用extern关键字声明变量名而不定义它。C++语言中,变量必须且仅能定义一次,而且在使用变量之前必须定义或声明该变量。

14.作用域:

#include <iostream>

int main()

{

int sum = 0;

// sum values from 1 up to 10 inclusive

for (int val = 1; val <= 10; ++val)

sum += val;   // equivalent to sum = sum + val

std::cout << "Sum of 1 to 10 inclusive is "

<< sum << std::endl;

return 0;

}

(New) 定义在所有函数外部的名字具有全局作用域(global scope),可以在程序中的任何地方访问。名字sum定义在main函数的作用域中,在整个main函数中都可以访问,但在main函数外则不能。变量sum有局部作用域(local scope)。名字val更有意思,它定义在for语句的作用域中,只能在for语句中使用,而不能用在main函数的其他地方。它具有语句作用域(statement scope)。

15.C++中作用域可嵌套

16. 魔数(magic number)

17.const限定符可以把一个对象转换成一个常量。因为常量在定义后就不能被修改,所以定义时必须初始化。

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

19.引用是一种复合类型,通过在变量名前添加“&”符号来定义。定义如下:type &id = object ;

20.引用是别名,当引用初始化后,只要该引用存在,它就保持绑定到初始化时指向的对象。不可能将引用绑定到另一个对象。

21.初始化是指明引用指向哪个对象的唯一方法。const引用是指向const的引用。非const引用只能绑定到与该引用同类型的对象。const引用则可以绑定到不同但相关的类型的对象或绑定到右值。

这章内容不少,先到此搁笔,择日再续~~~

——??XāΩādцぴ??

C++ Primer 学习札记(二)相关推荐

  1. C++Primer学习之二#define,const,constexpr

    一.#define 是预处理操作符(宏定义),编译器将在编译过程中用到该变量的地方替换成对应的值. 二.Const const是声明常量的限定符,它可以约定一个变量为常量. 如: Const int ...

  2. C++Primer学习笔记(二)

    17.string对象中字符的处理: cctype头文件中定义: isalnum(c) 如果c是字母或数字,则为true isalpha(c) 如果c是字符,则为true iscntrl(c) 如果c ...

  3. Python学习札记(二十三) 函数式编程4 sorted

    参考:sorted NOTE 1.sorted,快速排序,时间复杂度O(nlogn)渐进最优. #!/usr/bin/env python3L = []for i in range(10):L.app ...

  4. Python学习札记(二十) 函数式编程1 介绍 高阶函数介绍

    参考: 函数式编程 高阶函数 Note A.函数式编程(Functional Programming)介绍 1.函数是Python内建支持的一种封装,我们通过一层一层的函数调用把复杂任务分解成简单的任 ...

  5. Python学习札记(二) python3.5安装 + (假装是)第一个Python程序

    参考: Mac OS 安装 Python3.5 廖雪峰Python教程:安装Python 笔记: 安装: 1.官方网站下载安装包:安装程序 2.执行安装程序完成Python3.5包的安装. 3.安装P ...

  6. Python学习札记(二十八) 模块1

    参考:模块 NOTE 1.模块:一个.py文件称为一个模块. 2.代码模块化的意义:a.提升程序的可维护性 b.不用重复造轮子 3.避免模块冲突,解决方法:引入了按目录来组织模块的方法,称为包(Pac ...

  7. 肖锰:浪潮GS开发平台学习札记(二)——服务器端安装补充及客户端下载安装配置

    服务器端安装出现的问题汇总: 1.  XP下无法启动COM+组件,原因:用户权限不够. 2.  卸载中间件时有可能出现服务无法卸载的情况(体现在重新安装时提示卸载服务) 3.  XP下IIS的问题(没 ...

  8. Git 学习札记(二)安装git以及基本操作

    Git 学习札记(二) Linux上的Git基本操作 安装和使用 Git 在linux安装git的命令: sudo apt-get install git 结果如图:(为了截这个图特意卸载了又装了一遍 ...

  9. MongoDB学习札记第六篇之主从复制

    mongo系列文章请看http://www.codefrom.com/p/mongodb 环境准备: ubuntu12.0.4 mongodb3.0.3 主从复制是MongoDB中最常见的复制方式.这 ...

最新文章

  1. 「名词」数据管理、数据治理、数据中心、数据中台、数据湖、数据资产等
  2. svn服务器创建分支原理,svn 创建分支、合并分支、以及报错处理
  3. Sentinel(十六)之AHAS Sentinel 控制台
  4. react学习(58)--this.props进行父子传值
  5. java递增_java-8 – 如何按组递增
  6. OpenCV文档阅读笔记-Imread flags解析与实例(保存透明图像)
  7. 做mysql服务器 需要什么配置最好_支持大型数据库的服务器需要什么配置
  8. 搭建servlet+jsp环境
  9. 密码机分类---服务器密码机
  10. 查看elasticserc版本_Elasticsearch版本和客户端介绍
  11. win10更新安装会卡在44%怎么办
  12. mysql查询近一年数据
  13. 计算机和书桌还有台灯英语,台灯的英语单词是什么
  14. 秋风中的----《情书》
  15. CUDA技术体系分析
  16. iPhone4S价格走势平稳 现价5999值得买
  17. word中图片为嵌入式格式时显示不全_图片在word中显示不全怎么处理_word图片显示不全怎么办-win7之家...
  18. icp备案和域名备案两者之间有什么区别?
  19. cleanmymac到底好不好用?有必要买吗
  20. 基于vue的开源个人主页

热门文章

  1. Linux解压.gz的命令
  2. 【PyTorch】torch.mean(), dim=0, dim=1
  3. Linux下的vim如何保存并退出
  4. w7系统出现无法更新服务器,win7系统自动更新选项不能用了的解决方法
  5. mysql查询学号和姓名_数据库SQL语句中 查询选修了全部课程的学生的学号和姓名...
  6. Windows Terminal + WSL + Ubuntu + 图形化 总结
  7. C++大作业18 - 英汉字典程序说明
  8. 苹果自带的清理软件_苹果用户福利 分享一款腾讯出品的垃圾清理软件
  9. 2022年河南省房地产经纪人(房地产交易制度政策)练习题及答案
  10. Excel-数据分析-线性回归判断及预测分析