秋招C++开发学习之路day11

day14(map set、STL组成、迭代器、epoll、继承、右值引用、include<>""区别、malloc、内存管理)

  1. map和set都是根据键值排序的,所以键值不能被修改。set只有键值和元素合一,所以不允许修改元素。
  2. STL的allocaotr,就是分配器。用于封装STL容器在内存管理上的底层细节。
    为了精密分工,分配器把new和delete两个阶段操作区分开来。
    为了提高内存管理效率,减少申请小内存造成的内存碎片问题,SGI STL采用了两级配置。分配空间大于128B时直接用malloc(),realloc(),free()进行内存空间的分配和释放。小于128B时,用内存池技术,通过空间链表来管理内存。
  3. map存放数据的形式是红黑树,unodered_map底层结构是哈希表。
  4. STL组成成分,容器、迭代器、仿函数、算法、分配器、配接器。
    分配器给容器分配内存空间,算法通过迭代器获取容器中的内容,仿函数可以协助算法完成各种操作,配接器用来套接适配仿函数。
  5. 迭代器是通过一种方法顺序访问一个聚合对象中的各个元素,而不需要知道对象内部表示,特性是与对象耦合。
    迭代器不是指针,是一种类模板,模拟了指针的功能,封装了指针,相当于一种智能指针,根据对象不同的数据结构实现不同的操作。
    迭代器返回的是对象的引用。
  6. epoll原理
  7. STL的resize()是改变容器的大小,vector.resize(len);容器容量变为len,生成默认元素值为0,vector.push_back()时,元素放在了末尾,即下标为len,容器容量变为len+1。
    reserve(),改变容器的最大容量,不会生成元素,如果reserve后的空间比之前的大,则重新分配一个空间,并把原来的元素拷贝过来,销毁之前的内存。
  8. struct默认的继承权限和默认访问权限是public,而class的默认继承权限和默认访问权限是private。
  9. 右值引用&&,目的是:一是消除两个对象交互时不必要的对象拷贝,节省运算存储资源,提高效率;二是能够更简洁明确的定义泛型函数。
    左值能够对表达式取地址、或具名对象/变量,一般指表达式结束后依然存在的持久对象。
    右值不能对表达式取地址,或匿名对象,一般指表达式结束就不存在的临时对象。
    左值可以寻址,右值不可以。左值可以被赋值,右值不可以,可以用来給左值赋值。左值可变,右值不可变。
  10. inculde 的双引号和<>的区别是:编译器预处理阶段查找头文件的路径不一样。
    当前头文件目录(双引号独有的步骤),编译器设置的头文件目录,系统变量…指定的头文件路径。
  11. malloc原理,用于动态分配内存,为了减少内存碎片和系统调用的开销,其采用内存池的方式,先申请大块内存作为堆区,然后将堆区分为多个内存块,以块做为内存管理的基本单位。
    采用是隐式链表结构将堆区分成连续的、大小不一的快。采用显式链表结构来管理所有的空闲块。
    每次内存分配的时候隐式遍历所有空闲块,选择满足需求的块进行分配。
    malloc在申请内存的时候,一般会通过brk或者mmap系统调用的申请。其中当申请内存小于128k时会使用系统函数brk在堆区中分配,而当申请大于128k时,会使用系统函数mmap在映射区分配。
  12. C++内存管理方式:(内存结构)
    虚拟内存分为:代码段、数据段、BSS段、堆区、文件映射区、以及栈区六个部分。
    代码段包括只读存储区和文本区,其中只读存储区存储字符串常量,文本存储程序的机器代码。
    数据段存储程序中已经初始化的全局变量和静态变量。
    bss段存储未初始化的全局变量和静态变量(全局+局部),以及所有被初始化为0的全局和静态变量。
    堆区调用new/malloc函数时在堆区动态分配内存,同时需要调用delete/free来手动释放申请的内存。
    映射区存储动态链接库以及调用mmap函数进行的文件映射。
    栈使用栈空间存储函数的返回地址、参数、局部变量、返回值。
    ​​
    在这里插入图片描述
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
智慧校园信息化系统解决方案旨在通过先进的信息技术,实现教育的全方位创新和优质资源的普及共享。该方案依据国家和地方政策背景,如教育部《教育信息化“十三五”规划》和《教育信息化十年发展规划》,以信息技术的革命性影响为指导,推进教育信息化建设,实现教育思想和方法的创新。 技术发展为智慧校园建设提供了强有力的支撑。方案涵盖了互连互通、优质资源共享、宽带网络、移动APP、电子书包、电子教学白板、3D打印、VR虚拟教学等技术应用,以及大数据和云计算技术,提升了教学数据记录和分析水平。此外,教育资源公共服务平台、教育管理公共服务平台等平台建设,进一步提高了教学、管控的效率。 智慧校园系统由智慧教学、智慧管控和智慧办公三大部分组成,各自具有丰富的应用场景。智慧教学包括微课、公开课、精品课等教学资源的整合和共享,支持在线编辑、录播资源、教学分析等功能。智慧管控则通过平安校园、可视对讲、紧急求助、视频监控等手段,保障校园安全。智慧办公则利用远程视讯、无纸化会议、数字会议等技术,提高行政效率和会议质量。 教育录播系统作为智慧校园的重要组成部分,提供了一套满足学校和教育局需求的解决方案。它包括标准课室、微格课室、精品课室等,通过自动五机位方案、高保真音频采集、一键式录课等功能,实现了优质教学资源的录制和共享。此外,录播系统还包括互动教学、录播班班通、教育中控、校园广播等应用,促进了教育资源的均衡化发展。 智慧办公的另一重点是无纸化会议和数字会议系统的建设,它们通过高效的文件管理、会议文件保密处理、本地会议的音频传输和摄像跟踪等功能,实现了会议的高效化和集中管控。这些系统不仅提高了会议的效率和质量,还通过一键管控、无线管控等设计,简化了操作流程,使得会议更加便捷和环保。 总之,智慧校园信息化系统解决方案通过整合先进的信息技术和教学资源,不仅提升了教育质量和管理效率,还为实现教育均衡化和资源共享提供了有力支持,推动了教育现代化的进程。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值