C++primer

第2章 变量和基础类型

1.带符号类型和无符号类型混合运算时,带符号数会自动转换成无符号数。
2.true和false 是布尔类型的字面值,nullptr是指针字面值。
C++程序最好使用nullptr,同时尽量避免使用NULL。

#include <cstdlib>
#define NULL 0

3.指定字面值的类型,如

L'a'  //宽字符型字面值,wchar_t

4.定义于函数体内的内置类型的对象如果没有初始化,则其值是未定义。类的对象如果没有显示地初始化,则其值由类确定。
5.第一次使用变量时再定义它。
6.复合类型:指针和引用
引用即别名:引用并非对象,它只是为一个已经存在的对象所起的另一个名字。

int a=5;
int &ref_a=a;
int &ref_b;  //错误,引用必须被初始化

指针和引用的异同?
相同点:引用和指针都实现了对其他对象的间接访问。
不同的:①指针本身就是一个对象,允许对指针赋值和拷贝。②指针无须再定义时赋值。
③引用不是对象,没有实际地址,所以不能定义指向引用的指针。

理解复合类型:面对一条比较复杂的指针或引用的声明语句时,从右向左阅读有助于弄清它的真实含义。

int *p1,p2;  //p1是指向int的指针,p2是int

int ival=5;
int *pi=&ival;
int **ppi=&pi;  //指向指针的指针

int *p;
int *&r=pi;  //指向指针的引用

7.const

const和指针:
如果关键字const在*左边,表示被指物是常量;如果出现在*右边,表示指针自身是常量。
const的引用:

const int ci=1024;
const int &r1=ci;  //right

int &r2=ci;  //wrong, we can't change ci throw r2
int ci=5;
const int &r1=ci;  //right,we can bind r1 to ci but we can't change ci throw r1

8.类内初始值
C++11规定,可以为数据成员提供一个类内初始值。创建对象时,类内初始值将用于初始化数据成员。没有类内初始值的成员将被默认初始化。

class 和 struct 定义的最后加 分号

class ClassName
{
    //....
};  //分号

struct StructName
{
    //...
};

第3章 字符串、向量和数组

理解复杂的数组声明

//从数组的名字开始“由内向外”的顺序阅读
int *ptr[10];  //ptr数组,含有10个int\*的元素
int &refs[10]=/\*?\*/;  //错误,数组的元素应为对象,因此不存在引用的数组

int (*p)[10]=&arr;  //p是指针,指向含有10个int的数组
int (&ref)[10]=arr;  //ref是引用,引用含有10个int的数组

int *(&ref)[10]=ptrs;  //ref是引用,引用含有10个int\*的数组

动态二维数组:http://blog.csdn.net/yvhqbat/article/details/51055638

C风格字符串

#include <cstring>  //"string.h"
strlen(p)
strcmp(p1,p2);
strcat(p1,p2);
strcpy(p1,p2);
相当经典的教程,这次的上传一共5集,5分,相当于每1集要1分下载. 本课程是C++ Primer初级教程,课程内容是学习C++语言基础知识,对应着教材的第1章到第8章。 第1章 快速入门 1.1 编写简单的C++程序 1.2 初窥输入/输出 1.2.1 标准输入与输出对象 1.2.2 一个使用IO库的程序 1.3 关于注释 1.4 控制结构 1.4.1 while语句 1.4.2 for语句 1.4.3 if语句 1.4.4 读入未知数目的输入 1.5 类的简介 1.5.1 Sales_item类 1.5.2 初窥成员函数 1.6 C++程序 第2章 变量和基本类型 2.1 基本内置类型 2.1.1 整型 2.1.2 浮点型 2.2 字面值常量 2.3 变量 2.3.1 什么是变量 2.3.2 变量名 2.3.3 定义对象 2.3.4 变量初始化规则 2.3.5 声明和定义 2.3.6 名字的作用域 2.3.7 在变量使用处定义变量 2.4 const限定符 2.5 引用 2.6 typedef名字 2.7 枚举 2.8 类类型 2.9 编写自己的头文件 2.9.1 设计自己的头文件 2.9.2 预处理器的简单介绍 第3章 标准库类型 3.1 命名空间的using声明 3.2 标准库string类型 3.2.1 string对象的定义和初始化 3.2.2 String对象的读写 3.2.3 string对象的操作 3.2.4 string对象中字符的处理 3.3 标准库vector类型 3.3.1 vector对象的定义和初始化 3.3.2 vector对象的操作 3.4 迭代器简介 3.5 标准库bitset类型 3.5.1 bitset对象的定义和初始化 3.5.2 bitset对象上的操作 第4章 数组和指针 4.1 数组 4.1.1 数组的定义和初始化 4.1.2 数组操作 4.2 指针的引入 4.2.1 什么是指针 4.2.2 指针的定义和初始化 4.2.3 指针操作 4.2.4 使用指针访问数组元素 4.2.5 指针和const限定符 4.3 C风格字符串 4.3.1 创建动态数组 4.3.2 新旧代码的兼容 4.4 多维数组 第5章 表达式 5.1 算术操作符 5.2 关系操作符和逻辑操作符 5.3 位操作符 5.3.1 bitset对象或整型值的使用 5.3.2 将移位操作符用于IO 5.4 赋值操作符 5.4.1 赋值操作的右结合性 5.4.2 赋值操作具有低优先级 5.4.3 复合赋值操作符 5.5 自增和自减操作符 5.6 箭头操作符 5.7 条件操作符 5.8 sizeof操作符 5.9 逗号操作符 5.10 复合表达式的求值 5.10.1 优先级 5.10.2 结合性 5.10.3 求值顺序 5.11 new和delete表达式 5.12 类型转换 5.12.1 何时发生隐式类型转换 5.12.2 算术转换 5.12.3 其他隐式转换 5.12.4 显式转换 5.12.5 何时需要强制类型转换 5.12.6 命名的强制类型转换 5.12.7 旧式强制类型转换 第6章 语句 6.1 简单语句 6.2 声明语句 6.3 复合语句(块) 6.4 语句作用域 6.5 if语句 6.6 switch语句 6.6.1 使用switch 6.6.2 switch中的控制流 6.6.3 default标号 6.6.4 switch表达式与case标号 6.6.5 switch内部的变量定义 6.7 while语句 6.8 for循环语句 6.8.1 省略for语句头的某些部分 6.8.2 for语句头中的多个定义 6.9 do while语句 6.10 break语句 6.11 continue语句 6.12 goto语句 6.13 try块和异常处理 6.13.1 throw表达式 6.13.2 try块 6.13.3 标准异常 6.14 使用预处理器进行调试 第7章 函数 7.1 函数的定义 7.1.1 函数返回类型 7.1.2 函数形参表 7.2 参数传递 7.2.1 非引用形参 7.2.2 引用形参 7.2.3 vector和其他容器类型的形参 7.2.4 数组形参 7.2.5 传递给函数的数组的处理 7.2.6 main:处理命令行选项 7.2.7 含有可变形参的函数 7.3 return语句 7.3.1 没有返回值的函数 7.3.2 具有返回值的函数 7.3.3 递归 7.4 函数声明 7.5 局部对象 7.5.1 自动对象 7.5.2 静态局部对象 7.6 内联函数 7.7 类的成员函数 7.7.1 定义成员函数的函数体 7.7.2 在类外定义成员函数 7.7.3 编写Sales_item类的构造函数 7.7.4 类代码文件的组织 7.8 重载函数 7.8.1 重载与作用域 7.8.2 函数匹配与实参转换 7.8.3 重载确定的三个步骤 7.8.4 实参类型转换 7.9 指向函数的指针 第8章 标准IO库 8.1 面向对象的标准库 8.2 条件状态 8.3 输出缓冲区的管理 8.4 文件的输入和输出 8.4.1 文件流对象的使用 8.4.2 文件模式 8.4.3 一个打开并检查输入文件的程序 8.5 字符串流
1.下载和安装VC++2008 2.下载和安装VC++2010 3.第1章 快速入门 4.第2章 基本内置类型 5.第2章 重点习题解答 6.第2章 字面值常量 7.第2章 变量 8.第2章 变量名 9.第2章 定义对象 10.第2章 声明和定义 11.第2章 名字的作用域 12.第2章 const 限定符 13.第2章 引用 14.第2章 typedef 15.第2章 枚举 16.第2章 类类型 17.第2章 编写自己的头文件 18.第3章 命名空间的using声明 19.第3章 标准库 string 类型 (1) 20.第3章 标准库 string 类型 (2) 21.第3章重点习题解答 22.第3章标准库string类型(3) 23.第3章标准库vector类型 24.第3章重点习题解答 25.第3章迭代器简介 26.二进制和十六进制 27.第3章标准库bitset类型 28.标准库bitset应用实例 29.第4章数组 30.第4章指针的引入 31.第4章使用指针操作数组元素 32.第4章指针和const限定符 33.第4章C风格字符串 34.第4章创建动态数组 35.第4章新旧代码的兼容 36.第4章多维数 37.第5章算术操作符 38.第5章关系操作符和逻辑操作符 39.第5章位操作符 40.第5章赋值操作符 41.第5章自增和自减操作符 42.第5章箭头操作符 43.第5章条件操作符和逗号操作符 44.第5章new和delete表达式 45.第5章显式转换 46.第6章简单语句 47.第6章if语句 48.第6章switch语句 49.第6章while语 50.第6章for语句 51.第6章dowhile语句 52.第6章break,continue,goto语句 53.第6章6.13try块和异常处理 54.第6章6.13.3标准异常 55.第6章6.14使用预处理器进行调试 56.第7章函数的定义 57.第7章参数传递-非引用形参 58.第7章参数传递-引用参数 59.第7章参数传递-vector和其他容器类型的形参 60.第7章参数传递-数组形参 61.第7章main处理命令行选项 62.第7章return语句 63.第7章递归 64.第7章函数声明 65.第7章局部对象 66.第7章内联函数 67.第7章类的成员函数 68.第7章类的构造函数 69.第7章重载函数 70.第7章重载与作用域 71.第7章重载函数函数匹配 72.第7章重载函数实参转换 73.第7章指向函数的指针 74.第8章面向对象的标准IO库 75.第8章条件状态 76.第8章文件流对象的使用 77.第8章重点习题解答 78.第8章文件模式 79.第8章一个打开并检查输入文件的程序 80.第8章字符串流
1.第9章 顺序容器 - STL deque 2.第9章 顺序容器 - STL list 3.第9章 9.7 容器适配器 - 栈适配器 4.第9章 9.7 容器适配器 - 队列 5.第9章 9.7 容器适配器 - 优先级队列 6.第9章 9.1 顺序容器的定义 7.第9章 9.2 迭代器和迭代器范围 8.第9章 9.3 顺序容器的操作(1) 9.第9章 9.3 顺序容器的操作(2) 10.第9章 9.3 顺序容器的操作(3) 11.第9章 9.3 顺序容器的操作(4) 12.第9章 9.3 顺序容器的操作(5) 13.第9章 9.3 顺序容器的操作(6) 14.第9章 9.3 顺序容器的操作(7) 15.第9章 9.4 vector容器的自增长 16.第9章 9.5 容器的选用 17.第9章 9.6 再谈string类型(1) 18.第9章 9.6 再谈string类型(2) 19.第9章 9.6 再谈string类型(3) 20.第9章 9.6 再谈string类型(4) 21.第9章 9.6 再谈string类型(5) 22.第10章 map 和 multimap 23.第10章 set 和 multiset 24.第11章 算法简介 25.第11章 函数对象简介 26.第11章 算法 元素计数 27.第11章 算法 最大值和最小值 28.第11章 算法 查找算法(1) 29.第11章 算法 查找算法(2) 30.第11章 算法 查找算法(3) 31.第11章 算法 查找算法(4) 32.第11章 算法 查找算法(5) 33.第11章 算法 查找算法(6) 34.第11章 算法 查找算法(7) 35.第11章 算法 for_each 36.第11章 算法 区间的比较 37.第11章 算法 复制元素 38.第11章 算法 transform 39.第11章 算法 比较for_each和transform 40.第11章 算法 交换算法 41.第11章 算法 填充新值 42.第11章 算法 替换算法 43.第11章 算法 删除算法 (1) 44.第11章 算法 删除算法 (2) 45.第11章 算法 删除算法 (3) 46.第11章 算法 逆转和旋转 47.第11章 算法 排列组合 48.第11章 算法 重排和分区 49.第11章 算法 对所有元素排序 50.第11章 算法 局部排序 51.第11章 算法 根据第n个元素排序 52.第11章 算法 Heap算法
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值