虽然,有一定的c++基础(因为本科就学会了这一种,哈哈),但是还是决定系统的读一遍这本书(之前有零星看过数次。。汗)。
留作自己以后参考。(内容会不定期更改,不断学习(此处应为长音~~))
大部分都是自己掌握的不够扎实的地方和以前没有注意的一些细节。
书中好多地方,详述了知识出现的缘由,最起码是指出为了解决什么问题而出现的!!
前言部分
1.“...大量使用了前后交叉引用..."(挺适合自己的,我想知道原文是怎么的,希望以后有机会对原版的时候补充~)
2.作者对本书的定位是本指南性读物。。。
3.作者假定读者已经掌握了一种现代结构化语言!
4.学到足够的知识去创建自己的抽象(于第三到第五部分讨论)
快速入门部分
1.‘操作系统通过main函数返回的值来确定程序是否成功执行完毕。’
2.IDE (Integrated Development Environment) 集成开发环境(书中不介绍~~)
3.注释comment
4.读入未知数目的整数输入(利用 输入操作符>> 返回其左操作数实现)
#include "stdafx.h"
#include<iostream>
using namespace std;
int main()
{
int sum=0,value;
while(cin>>value)
sum+=value;
cout<<sum<<endl;
return 0;
}
关于输入结束,详见读入未知数目的输入(输入非整数结束)
变量和基本类型
1.基本字符集(char)
扩展字符集(wchar_t)
2.整型(integral type):表示整数、字符和布尔值的算术类型的合称
3.字面值规则
20 0240X14
20L 20UL 20FL(F单精度)
科学计数法
字符串字面值:为了兼容C语言,C++中所有的字符串字面值都由编译器自动在末尾添加一个空字符。(类型:const char类型的数组)
4.转义字符 \***
5.初始化(创建变量并赋值) 赋值(擦除对象的当前值并用新值代替)
int a = 10;copy-initialization 更灵活且效率更高
int a(10);direct-initialization
6.构造函数(constructor)定义如何进行初始化的成员函数。(可以有多个)
PS:(P43第二小节末一句有点小瑕疵,可以这样理解)有多个初始化参数时不能使用复制初始化。
7.定义(definition)用于为变量分配存储空间,还可以为变量指定初始值。
声明(declaration)用于向程序表明变量的类型和名字 extern
int i; //declares and defines i
extern int i; //declares but does not define i
extern int i = 1; //definition
8.
非const变量默认为extern。const变量默认时是定义该变量的文件的局部变量。 int i; //全局变量
const int i = 1; //文件的局部变量
extern const int i = 1; //const定义时必须初始化
(const变量默认时是定义该变量的文件的局部变量。)why?允许const变量定义在头文件中。见13
const变量定义时必须初始化!(利用定义只有一次,达到不能修改的目的)
可以用const对象初始化非const对象,反之亦然。因为初始化复制了初始化式的值。
9.引用(reference)就是它绑定对象的另一个名字。引用返回左值。主要用作函数的形式参数。
a reference must be initialized, and initializer must be an object.
当引用初始化后,只要引用存在就保持绑定到初始化时指向的对象。不可能将引用绑定到另一个对象。
复合类型(compound type 用其它类型定义的类型)(注:不能定义引用类型的引用)
10.typedef可以用来定义类型的同义词
typedef的目的之一:一种类型用于多个目的时,使得每次使用该类型的目的明确。
PS :本