![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++
文章平均质量分 71
骑着驴子追宝马
这个作者很懒,什么都没留下…
展开
-
New-delete
第一步: _ nh_malloc->_ nh_malloc_dbg->_ heap_alloc_dbg->_heap_alloc_base->HeapAlloc。可以看到new和malloc一样,最终都是调用kernel32.dll的HeapAlloc函数;局部变量一般存放在栈中,当用到时放入栈中,不用时栈中的地址处变成垃圾数据,也不需要管理;第二步:_ free_dbg->_free_base->HeapFree。而用malloc在堆中申请的内存在使用完后要调用free函数来释放;第一步:调用析构函数。原创 2023-04-10 22:29:59 · 161 阅读 · 0 评论 -
引用-友元-运算符重载
(1) 运算符重载的某些场合需要使用友元.(2) 两个类要共享数据的时候.原创 2023-04-10 21:52:48 · 366 阅读 · 0 评论 -
c++模版
最快的排序:桶排序查找:顺序查找(没排序);折半查找(已排序)原创 2023-04-10 21:54:35 · 143 阅读 · 0 评论 -
继承|虚函数(补充)
当子类重写父类的普通函数时,如果父类指针指向的是子类对象,那么调用该函数时会根据指针的静态类型调用相应的函数。这种情况下,父类指针无法访问子类中重写的函数,而是调用父类的函数。如果需要访问子类中的函数,需要将父类指针转换为子类指针。在上面的代码中,首先创建了一个父类对象b和一个子类对象d,分别调用它们的print()函数,可以看到父类对象调用的是父类函数,而子类对象调用的是子类函数。接着将父类指针b指向子类对象d,再次调用print()函数,此时会调用父类的函数。最后,将父类指针转换为子类指针d。原创 2023-04-10 21:50:56 · 72 阅读 · 0 评论 -
继承|虚函数(补充)
当子类重写父类的普通函数时,如果父类指针指向的是子类对象,那么调用该函数时会根据指针的静态类型调用相应的函数。这种情况下,父类指针无法访问子类中重写的函数,而是调用父类的函数。如果需要访问子类中的函数,需要将父类指针转换为子类指针。在上面的代码中,首先创建了一个父类对象b和一个子类对象d,分别调用它们的print()函数,可以看到父类对象调用的是父类函数,而子类对象调用的是子类函数。接着将父类指针b指向子类对象d,再次调用print()函数,此时会调用父类的函数。最后,将父类指针转换为子类指针d。原创 2023-04-10 21:50:14 · 37 阅读 · 0 评论 -
动态绑定/多态
绑定就是将函数调用和地址关联起来观察反汇编class Basepublic:int x;//函数调用printf("传入Base对象:\n");Base b;printf("传入sub对象:\n");Sub sb;getchar();return 0;原创 2023-04-10 21:52:09 · 233 阅读 · 0 评论 -
c++虚函数表
1、当类中有虚函数时,会多一个属性,4个字节2、多出的属性是一个地址,指向一张表,里面存储了所有虚函数的地址。原创 2023-04-10 21:42:51 · 70 阅读 · 0 评论 -
c++权限控制
c语言可以在xxx.h中定义函数,然后在xxx.cpp中实现函数;在需要用到这些函数时,只要用#include引入xxx.h即可,这样就不用将所有代码全部写在一个cpp中;将函数定义与实现分离,代码会有更好的可读性但不是必须的;xxx.h 头文件中int x;int y;int z;xxx.cpp1、xxx.h 只是一个文件,可以是任何的后缀名,如果你愿意,可以叫xxx.exe2、#include 的作用只是把里面的内容复制过来 仅此而已.原创 2023-04-10 21:40:06 · 232 阅读 · 0 评论 -
#构造函数、析构函数、继承
构造函数可以被继承,但是不能继承构造函数的实现,因为构造函数是用于创建对象的,子类需要自己定义构造函数,以便创建自己的对象。在子类的构造函数中,可以通过调用父类的构造函数来初始化父类的成员变量。如果子类没有显式地调用父类的构造函数,则会默认调用父类的无参构造函数。析构函数也可以被继承,但是同样不能继承析构函数的实现。当一个对象被销毁时,先调用子类的析构函数,然后再调用父类的析构函数。如果父类的析构函数是虚函数,那么在销毁子类对象时,会先调用子类的析构函数,然后再依次调用父类的析构函数。原创 2023-04-10 21:34:56 · 744 阅读 · 0 评论