1、CPP 学习概述

目录

    • 一、汇编的重要性
      • 1、学习建议
      • 2、代码本质的挖掘
      • 3、编程语言的本质区别
    • 二、开发环境的搭建

路线大纲:

常用语法:

1、CPP 学习概述_第1张图片

面向对象:

1、CPP 学习概述_第2张图片

项目实战:

1、CPP 学习概述_第3张图片

特点:

  • 通过反汇编,通过底层来观察 C++ 的本质

1、CPP 学习概述_第4张图片

  • CPP 的应用领域

1、CPP 学习概述_第5张图片

思考一个问题:既然 C ++ 执行效率这么高,为什么还要出现新的编程语言?所有地方都用 C++ 不就好了吗?

  • 首先每一门编程语言都有自己的优缺点,都有自己的擅长的领域。
  • 比如 python 适合数学家来进行算法开发,适合分析师进行数据分析,如果让数学家和分析师再学习C++ 那就太麻烦了。
  • 统计分析:R 、Python
  • 网址开发:HTML、CSS、JavaScript
  • 访问数据库:SQL
  • 创造一门新的编程语言的成本,有时候会比改进一门编程语言的成本更低。(改进的话可能影响之前的特性)

1、CPP 学习概述_第6张图片

一、汇编的重要性

为什么要研究汇编呢?

  • 网上人们的教程都是基于自己的理解写出来的,他们的理解不是机器的理解
  • 汇编才是最底层的代码,最贴近机器的语言。所以研究汇编才能研究机器的工作原理

1、学习建议

  • 首先官方资料(手册、官网、文档)
  • 英文资料 > 中文资料
  • 掌握编程语言,了解代码的本质(汇编语言),不再依赖其他一些误人子弟的资料。

2、代码本质的挖掘

  • sizeof 的本质
  • a++ 和 ++a 的本质区别
  • if-else 和 switch,谁的效率高
  • 程序的内存布局
  • 多态的实现原理

sizeof 不是一个函数,是一个关键字,编译器就会处理它,不需要浪费代码运行时候的资源,在编译阶段就会进行替换

  • 编译器直接看到 sizeof(int) ,就把他替换成了 4

1、CPP 学习概述_第7张图片

1、CPP 学习概述_第8张图片

将 sizeof(int) 更换为 4,可以看到他们的代码一模一样

1、CPP 学习概述_第9张图片

软件、程序的执行过程:

1、CPP 学习概述_第10张图片

注意:CPU会先将内存中的数据存储到通用寄存器中,然后再对通用寄存器中的数据进行运算

1、CPP 学习概述_第11张图片

eax 是cpu 的通用寄存器之一

1、CPP 学习概述_第12张图片

3、编程语言的本质区别

  • 汇编语言也要经过编译,然后生成机器语言

  • 机器语言可以经过反汇编,生成汇编语言,机器语言可不能经过反汇编生成高级语言

1、CPP 学习概述_第13张图片

  • C++/ C ,我们可以直接看到它的本质。
  • js、php、这种语言不给我们开放机器码,所以我们也不能进行反汇编。
  • JAVA 依赖虚拟机。
  • 编程语言的底层都是指令集,对于 CPU 来说,它只认识指令集,根本不知道上面用的什么语言。
  • 每一个新语言的产生,一定是为了应用在某个领域,干一些特定的事情。

1、CPP 学习概述_第14张图片

二、开发环境的搭建

1、CPP 学习概述_第15张图片

  • 基础的配置

  • 安装需要的组件

1、CPP 学习概述_第16张图片

你可能感兴趣的:(c++,基本语言,c++)