c++学习
文章平均质量分 62
Marco Berger
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
我的写作计划
接下来的一个月鼠鼠会尽量保持一日一更,特殊情况两日两更(一次发),希望能和大家一起学习,共同进步QaQ!2,从time库说开来,c与c++的那些库(习题回顾)3,CMyString,字符串处理类(习题回顾)15,c++栈,堆,共享栈的实现(习题回顾)6,字符串处理(leecode习题总结)16,c++基于栈堆实现大数四则运算。17,c++分词器实现(习题回顾)18,c++日期计算(习题回顾)8,函数重载和符号重载。14,c++排序与计时。10,类的继承与联合。原创 2024-04-10 23:57:56 · 219 阅读 · 2 评论
-
精彩的思考题(关于存储,delete与析构函数)
第二种想法:delete s换成free(s),可以解决第二个问题,因为free是c语言中用于释放malloc和realloc建立内存空间的函数,只会单纯的释放内存,不会调用析构函数。观察代码的输出,会发现Constructor和指针ps的存储的地址都可以输出,但是"Release the static s"不能输出,要求在不改变单例模式的前提下修改代码。2)即使调用了析构函数,在delete s进行时,会再次调用析构函数,形成递归调用(输出框的表现是过一段时间程序才会结束,并且返回值异常)原创 2024-04-10 19:47:13 · 1220 阅读 · 1 评论 -
类和结构体中的static
当一个变量pt类型前加上static,根据存储知识pt变量被存储在全局区,这个变量在整个程序中只会存在一个实例。为了确保静态变量只有一份实例,而且类内部只涉及对类的声明,并不是定义(定义包括存储空间的开辟和初始化,外部都会发生)1) “Entity::”用来说明成员变量或者函数处在的作用域,在类的嵌套中尤其常用。如果将它改成静态函数,static会把参数Entity e删去,从而。进一步尝试会发现:类内部的静态变量需要显式开辟存储空间。原创 2024-04-07 15:20:01 · 375 阅读 · 0 评论 -
关于存储区域的讨论
所以存放在堆里的对象e,由于没有在程序中没有释放内存,所以程序结束时,即使操作系统自动回收所有内存(只是回收,不会清理),对象仍然占据。析构函数在对象生命周期结束时调用,用于关闭文件或释放内存(e.g.new析构函数的调用就在被delete时)显然,array存储在栈中,一旦离开函数createArray,就自动被释放,不会成功将地址传给p。类对象e会被储存到堆里,会导致非正常销毁e,为什么?原创 2024-04-07 11:31:31 · 865 阅读 · 2 评论
分享