C++复习

作者: StevenHD | 来源:发表于2020-11-08 22:29 被阅读0次

一、创建类对象

创建 类对象

二、命令行

命令行 -g和-o
命令解释

三、头文件的区别

  • #include <iostream>——尖括号意味着引入的文件是在系统目录下
  • #include "Human.h"——双引号意味着引入的文件是在自己的目录下

四、命名空间

防止库与库之间不会相互污染

五、宏的引入

  • 头文件中会引入ifndef这个宏,目的是为了防止多次引入这个头文件。
  • 还会有一个宏#define XXX,两个连起来的意思是——如果没有定义这个宏,那么我们就定义这个宏。下次引用这个头文件的时候,发现这个宏已经存在了,就不引入了。

六、继承

继承方式影响了访问权限
多重继承——父子,母子
  • 子类可以使用父类中的东西,但是父类是不可以使用子类中的东西的,这个跟编译器分配内存空间有关。

七、多态

多态

实现多态是通过一个虚表来实现的。

八、内存管理与指针

8.1 内存地址空间

  • 32位寻址,每次获得的地址空间都是4个字节。如果存储5只会占一个字节,因为一个字节可以存放最大256的值,另外3个字节就浪费掉了,int型数字存放在4个字节中的最后一个字节,char型数则是存放在4个字节中的第一个字节——
    内存地址空间

每个地址之间相隔4个字节

8.2 堆空间与栈空间

  • 堆空间和栈空间都属于数据
  • 堆空间是低地址向高地址增长的
  • 栈空间是高地址向低地址增长的

这样可以避免地址使用的冲突,因为两个空间都是在往中间发展。

堆空间与栈空间

8.3 内存的申请与释放

九、深拷贝与浅拷贝

9.1 什么是浅拷贝

一个变量含有指针,只拷贝这个变量,但是指针指向的内容并不进行拷贝。这样会导致指针指向区域被共享,拷贝前的变量和拷贝后的变量会指向同一个地址。

会导致内存释放会释放2次,导致程序崩溃。要不然就是都不释放,那就是内存泄漏。

9.2 什么是深拷贝

其实深拷贝主要是新申请了一块内存空间——

深拷贝与浅拷贝

相关文章

  • C++复习

    C++谭版期末复习 前言 好好复习,简单看看语法 从C到C++ C++的输入输出 cin cout cerr cl...

  • C++复习

    C++基础 定义常量的两种简单方式:const和#defineC++的修饰符类型有signed, unsigned...

  • 复习C++

    1)定义常量用: #define 或 const;2)类似java里面的类的概念,后面的book是变量: stru...

  • C++复习

    一、创建类对象 二、命令行 三、头文件的区别 #include ——尖括号意味着引入的文件是在系统目录下 #in...

  • 2018-02-03

    c++ 复习declaration definition When a variable is defined,i...

  • C++复习随笔

    1.C++标识符规则: (1)第一个字符必须是字母(不分大小写)或下划线(_); (2)后跟字母(不分大小写)、下...

  • C++复习1

    ^异或:相同为假,不同为真。00000000 00000000 00000000 01000110^0000000...

  • C++基础复习

    0x01:string 0x02:函数指针 在C与C++中,没有接口与回调的概念;但是通过函数指针,我们可以轻松的...

  • 2018-11-01

    增加淘宝店宝贝 英语趣配音 日常口语对话 课程复习预习整理笔记 练习编程 复习高数线代 复习数据结构 学习c++ ...

  • C++运算符重载实现(加号、左移、递增、赋值、关系运算符、函数调

    先来复习一下C++的内存分区问题~ C++内存分区 C++程序的内存分区可划分为四大内存分区:堆、栈、全局/静态存...

网友评论

      本文标题:C++复习

      本文链接:https://www.haomeiwen.com/subject/whnhbktx.html