C++基础 (1) 第一天 C++相对C的改进 命名空间 引用
第一天
语法 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的引用


C++基础 (1) 第一天 C++相对C的改进 命名空间 引用的更多相关文章
- C++基础 (2) 第二天 C++相对C的改进 命名空间 引用
1 昨日回顾 2内联函数 3 默认参数和占位参数 4函数重载 函数重载 就是可以定义多个相同名字的函数 6 类和对象的基本语法 7 类的封装和访问控制 还有一个结论: 封装有两层含义: 把属性和方法进 ...
- 村田噪声抑制基础教程-第一章 需要EMI静噪滤波器的原因
1-1. 简介 EMI静噪滤波器 (EMIFIL®) 是为电子设备提供电磁噪声抑制的电子元件,配合屏蔽罩和其他保护装置一起使用.这种滤波器仅从通过连线传导的电流中提取并移除引起电磁噪声的元件.第1章说 ...
- python 编程基础练习 第一天
python 编程基础练习 第一天: 需求: 1.计算2的38次方,180*0.7输出(精度显示正常), x的y次方,数字倒序输出即345876输出678543,方法越多越好. 2.字符串处理: 1) ...
- Java基础-面向对象第一特性之封装(Encapsulation)
Java基础-面向对象第一特性之封装(Encapsulation) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.理解什么是面向过程和面向对象 面向过程与面向对象都是我们编程中 ...
- 【MM系列】SAP MM模块-基础配置第一篇
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[MM系列]SAP MM模块-基础配置第一篇 ...
- Linux 基础入门 第一周9.14~9.20
第一节 Linux系统简介 Linux——操作系统 1.使多个用户从不同的终端同时操作主机(分时操作系统): 2.MINIX是一个功能有限的类似于UNIX的操作系统(UNIX 实现了 TCP/IP 协 ...
- Java基础学习第一天
================每日必读==================== 写代码: 1.明确需求.我需要实现什么需求? 2.分析思路.我需要怎么实现需求? 3.确定步骤.我的每一部分思路需要使 ...
- python 基础篇第一篇
本节内容 1.python介绍 2.发展史 3.python2和python3 4.安装 5.简单程序,hello world程序 6.变量 7.用户输入 8.模块初识 9..pyc是什么? 10.数 ...
- Ruby 基础教程 第一部分总结
第一部分:Ruby 初体验 第一章: Ruby 初探 前言 开头的这一章节讲了一些十分基础的内容,重要的几个话题有: ruby 命令的执行方法 对象.方法的概念 常见的打印方法 ruby 命令的执行方 ...
随机推荐
- POJ 4046 Sightseeing
Sightseeing Time Limit: 5000ms Memory Limit: 65536KB This problem will be judged on PKU. Original ID ...
- 执行计划中Using filesort,Using temporary相关语句的优化解决
昨天听开发人员提到,相关的彩票网页当中一个页面刷新的很慢,特别是在提取数据的时候,今天早上一到,便去找开发人员要去相关的也没进行浏览,窥探哪些数据出现了问题,开发人员使用PHP开发,所以我用IE很容易 ...
- Yarn的工作流程
http://study.163.com/course/courseLearn.htm?courseId=1002887002#/learn/video?lessonId=1003346099& ...
- POJ 2831
次小生成树.求出两点间最短路径的最大权值,再把要加入的边与之比较即可. #include <iostream> #include <cstdio> #include <c ...
- 好纠结啊,JeeWx商业版本号和开源版本号有什么差别呢?
好纠结啊,JeeWx商业版本号和开源版本号有什么差别呢? JeeWx开源版本号是一套基础微信开发平台.有基础的微信菜单.素材管理.微信对接等基础功能,适合于开发人员学习研究. JeeWx商业版本号是一 ...
- HDU2955_Robberies【01背包】
Robberies Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total ...
- springboot集成grpc
gRPC 简介 gRPC 是一个现代开源的高性能 RPC 框架,可以在任何环境下运行.它可以有效地将数据中心内和跨数据中心的服务与可插拔支持进行负载均衡.跟踪.健康检查和认证.它也适用于分布式计算,将 ...
- Java系列之JDBC和ODBC之间的差别与联系
JDBC简单介绍 JDBC(Java Data Base Connectivity,java数据库连接)是一种用于运行SQL语句的Java API,它是Java十三个规范之中的一个.能够为多种关系数据 ...
- 单片机project师必备的知识
C语言编程 程序编译过程 哪部分干什么 数据结构 链表 二叉树 算法 数组 堆栈 队列算法 遍历 常量在内存中的表现形式 语法和内存的相应关系 数电 UML 类图 时序图 状态图 用例图 ...
- Palindrome Linked List 234
推断是否为回文链栈 时间复杂度为O(n) 空间复杂度为O(1) : 运用递归 保证空间复杂度为O(1): 时间复杂度为O(n): 注意定义了一个全局变量 flag = true 用此标记来标记是否在推 ...