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();获 ...
- MySQL Migration Toolkit v2.1特别版
MySQL数据库转换工具MySQL Migration Toolkit v2.1特别版 支持mssql\oracle\access\excel与mysql互换 可以将任何数据源转换成mysql的数据, ...
- HDU 3432
水题,就是把一个矩形平分. 题意:一个wid*hei的矩形,过底边上的一点(dor,0)做m-1条射线,把这个矩形的面积平均分成m份,求这些射线和矩形的另外一个交点. 直接枚举,然而求三角形高底移动坐 ...
- UI_UINavigationController
创建 UINavigationController(导航控制器) 在AppDelegate.m中创建 // 创建一个普通控制器 RootViewController *rootVC = [[RootV ...
- LeetCode(1) Symmetric Tree
从简单的道题目開始刷题目: Symmetric Tree 题目:Given a binary tree, check whether it is a mirror of itself (ie, sym ...
- C#实现动态调用Windows DLL
调用方法: object obj = WinDllInvoke("Kernel32.dll", "Beep", , }, typeof(void)); 函数代码 ...
- Python学习笔记24:Django搭建简单的博客站点(二)
上一节说道怎样使用Django创建并执行一个项目.这节说怎样加入一个博客应用. 一 项目跟应用的关系 在加入应用之前,先来看看项目与应用之间有什么不同之处呢? 项目是针对一个特定的 Web 站点相关的 ...
- c17---指针
// // main.c // 指针基本概念 #include <stdio.h> // 基本数据类型作为函数的参数是值传递, 在函数中修改形参的值不会影响到外面实参的值 void cha ...
- php获取前天的昨天的日期
在PHP里得到前天和昨天的日期的代码前天去面试的时候也是这样,不过我当时记不起来了.就记得MYSQL里面的date_sub(now(),'interval 1 day');date('Y/m/d h: ...
- js 随机生成信用卡号
本文实例讲述了JavaScript随机生成信用卡卡号的方法.分享给大家供大家参考.具体分析如下: 这段JS代码根据信用卡卡号产生规则随机生成信用卡卡号,是可以通过验证的,仅供学习参考,请不要用于非法用 ...