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 命令的执行方 ...
随机推荐
- ReentrantLock(排他锁)
在多线程操作时.保证一块共享资源的原子性.第一想到的就是用synchronized关键字 在jdk5提供一个更灵活更强大的 ReentrantLock 使用reentrantLock.lock();获 ...
- FZU - 2062 - Suneast & Yayamao
先上题目: Problem 2062 Suneast & Yayamao Accept: 146 Submit: 319Time Limit: 1000 mSec Memory L ...
- C#--线程池与线程的种类
.NET CLR线程的种类 至少3个线程:主线程.调试线程.终结器线程 1.main thread 2.worker thread 3.finalizer thread 4.debugger help ...
- 生成字符Banner
生成字符Banner http://patorjk.com/software/taag __ _______/ |_ ____ ____ ____ / ___/\ __\/ _ \ / \ / _ \ ...
- 我是这样记录javascript知识的------Day31
在陆续研究了几个javascript的几个小应用后,也算对javascript有了更深一点的认识,头脑中大约都有些印象,总体上说却有些模糊,这时.我知道,是时候看看w3cshool的这部分介绍了. 没 ...
- 【C++/数据结构】顺序表的基本操作
<span style="font-size:18px;"><strong>#pragma once #include <iostream> u ...
- 对VC++的OO思考
1. MFC借助C++的优势为Windows开发开辟了一片新天地,同时也借助 ApplicationWizzard使开发者摆脱离了那些每次都必写基本代码2. 借助ClassWizard和消息映射使开发 ...
- 0x51 线性DP
数据结构没什么好写的..分块和整体二分还有点分学得很懂..果然我还是比较适合这些东西 poj2279 奇怪题,我的想法就是五维记录最边上的一斜排,会M,结果的的确确是锻炼思维的,正解并不是DP2333 ...
- [BZOJ 2100] Apple Delivery
[题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=2100 [算法] Answer = min{ dist(PB,PA1) + dist( ...
- centos6.6--------反向DNS配置
一.反向区: 将域名解析为IP====================================================================================注 ...