C++基础 (1) 第一天 C++相对C的改进 命名空间 引用

第一天java

 

语法 STL 数据结构  设计模式…c++

 

2 C++语言的间接设计模式

 

C++ = C语言+面向对象数据结构

 

本贾尼架构

 

 

 

语言分类:函数

不关心效率 只关心架构:java/脚本语言spa

效率:(内存要本身管理了,操做指针)C++设计

 

 

 

 

3 C++的hello3d

 

 

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指向常量的时候临时开辟了一个空间

 

字面量:

… 

 

 

 

https://zh.wikipedia.org/wiki/%E5%AD%97%E9%9D%A2%E5%B8%B8%E9%87%8F_(C%E8%AF%AD%E8%A8%80)#%E7%94%A8%E6%88%B7%E5%AE%9A%E4%B9%89%E7%9A%84%E5%AD%97%E9%9D%A2%E9%87%8F

 

字面量:寄存器中临时存的一个数值,计算后放到内存中,它就没了

 

结论: 若是想对一个字面量作引用的话,只能用const的引用

 

 

相关文章
相关标签/搜索