- 博客(2)
- 收藏
- 关注
原创 【C++修理之路】内存管理
自由存储区:C++层面上的术语,就是那些由new分配的内存块,他们的释放编译器不去管,由我们的应用程序去控制,一般一个new就要对应一个delete。如果程序员没有释放掉,那么在程序结束后,操作系统会自动回收。编译器要知道它调用了多少次析构函数,因此new申请空间的时候会多开4个字节的空间来知道它要调用多少次,这个空间存放它的调用个数delete释放p3的时候,编译器会-4字节,把这个10取出来就知道调用个数了delete释放的是一个对象不是多个对象,释放的位置从存放个数空间的位置开始释放,因此就会报错。
2022-10-29 18:46:54
731
1
原创 数据结构牛客网考试两道编程题
据说著名犹太历史学家 Josephus 有过以下故事:在罗马人占领乔塔帕特后,39 个犹太人与 Josephus 及他的朋友躲到一个洞中,39 个犹太人决定宁愿死也不要被敌人抓到,于是决定了一种自杀方式,41 个人排成一个圆圈,由第 1 个人开始报数,报数到 3 的人就自杀,然后再由下一个人重新报 1,报数到 3 的人再自杀,这样依次下去,直到剩下最后一个人时,那个人可以自由选择自己的命运。具体方法为:判断父节点的左不为空,且父的左的左为空,且父的左的右为空。广度优先:层序遍历,使用迭代方法,使用队列。
2022-09-25 23:26:06
135
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人