![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++
C++ 学习
matrix2020
这个作者很懒,什么都没留下…
展开
-
父类子类指针相互转换
父类子类指针相互转换1.当自己的类指针指向自己类的对象时,无论调用的是虚函数还是实函数,其调用的都是自己的:2.当指向父类对象的父类指针被强制转换成子类指针时候,子类指针调用函数时,只有非重写函数是自己的,虚函数是父类的;3.当指向子类对象的子类指针被强制转换成父类指针的时候,也就是父类指针指向子类对象,此时,父类指针调用的虚函数都是子类的,而非虚函数都是自己的;当父类子类有同名非虚函数的时候,调用的是转换后的指针类型的函数;当父类子类有同名虚函数的时候,调用的是指针转换前指向的对象类型的函数。转载 2021-10-28 09:45:17 · 2765 阅读 · 0 评论 -
操作系统内存管理
内存管理的需求操作系统的内存管理需求有以下几点:重定位当进程被换出内存,然后再加载到内存时,实际的物理地址已经发生变化。重定位技术是让程序的逻辑地址被映射到正确的物理地址。保护作用每个进程都应该受到保护,避免被其他进程干涉。内存保护的需求必须由处理器(硬件)来满足,而不是操作系统来满足。因为操作系统不能预测程序可能产生的所有内存访问。共享任何保护机制必须提供一定的灵活性,以允许多个进程访问内存的同一部分。逻辑组织内存被组织成一维线性地址空间,并且地址空间是由一原创 2021-10-20 14:39:18 · 180 阅读 · 0 评论 -
C++内存分配
C++内存分配一、一个C/C++编译的程序占用内存分为以下几个部分:栈区(stack):由编译器自动分配与释放,存放为运行时函数分配的局部变量、函数参数、返回数据、返回地址等。其操作类似于数据结构中的栈。堆区(heap):一般由程序员自动分配,如果程序员没有释放,程序结束时可能有OS回收。其分配类似于链表。全局区(静态区static):存放全局变量、静态数据、常量。程序结束后由系统释放。全局区分为已初始化全局区(data)和未初始化全局区(bss)。常量区(文字常量区):存放常量字符串,程序结束后转载 2021-10-20 10:38:30 · 165 阅读 · 0 评论