第一天
语法 STL 数据结构 设计模式…
2 C++语言的间接
C++ = C语言+面向对象
本贾尼
语言分类:
不关心效率 只关心架构:java/脚本语言
效率:(内存要自己管理了,操作指针)C++
3 C++的hello
4 C++的命名空间
5 C++对C语言的增强-全局变量-struct-函数检测
6 bool类型
7 c++对三目运算符的增强
C++中
返回的是a的别名a
// 举例(a<b? a: b) =30
这句话 在C语言编译器中报错”表达式不能做左值”
因为在C语言编译器中,表达式最终返回的是一个数值 而不是一个地址
在C++中就不会报错,C++中表达式 返回的是a变量的别名
(语法糖
8 三目运算分作为左值需要注意
9 const增强
真正的常量
(在 C++中 就不会报错
10 const 和#define的区别
define和const的阶段不一样 define是预处理器 const是编译器处理的
11枚举类型的增强
12中午回顾
namespace 关键字
Boolean类型 只要赋值为非0 就是1
C语言会报错 C++不会报错
13 引用的基本概念
14 引用作为函数参数
15 引用的本质
编译器在取值和赋值的时候自动做了&和*的操作 本质是一个常指针
结论:
// 在研究引用的时候,可以将引用理解为一个 常指针
// 在理解的引用的时候,可以将引用理解为一个变量的别名 (否则读代码的时候容易懵
有大小 4字节 必须初始化 不能被改变
16 引用作为函数返回值
当函数的返回值 是一个局部变量的引用的时候 不能再用引用来接收
因为 局部变量执行完之后 值会被销毁
(注意值传递和 用 引用接受的区别)
17 引用作为函数返回值可以当左值
当引用作为函数的返回值的时候,只要这个引用是合法的,就可以当左值
传统的二级指针的方法
使用引用
19 const引用
注意指针p指向常量的时候临时开辟了一个空间
字面量:
…
…
字面量:寄存器中临时存的一个数值,计算后放到内存中,它就没了
结论: 如果想对一个字面量做引用的话,只能用const的引用