c++课程后的感想与记录

  听了这节课,感觉收获很多,老师从一个特别底层的角度教我们应该怎么样去做,让我弄明白了以前一直不能弄明白的问题。比如类和对象的存储问题,对象中的方法存储应该存储在代码区,那个是冯.诺依曼的结构,代码和数据混在一起,然后分别用CS,DS去区分这些是数据还是代码,所以会有数据区和代码区,而数据区又可以分为:

栈(stack),就是那些由编译器在需要的时候分配,在不需要的时候自动清除的变量的存储区。里面的变量通常是局部变量、函数参数等。

堆(heap),一般由程序员分配释放,若程序员不释放,程序结束时可能由OS回收。

全局/静态存储区,全局变量和静态变量被分配到同一块内存中,在以前的C语言中,全局变量又分为初始化的(DATA段)和未初始化的(BSS段),在C++里面没有这个区分了,它们共同占用同一块内存区。

常量存储区,常量字符串就是放在这里的,不允许修改(通过非正当手段也可以修改,而且方法很多),程序结束后由系统释放。

栈与堆的区别:栈是在线性地址区域,申请和释放由编译器自己做,而堆必须要求自己申请和自己进行释放!

进而,老师讲了inline函数与宏定义define的区别与联系:

define只是展开,并不经过编译,也就是编译器并不进行检查工作,即使出错了,编译器也不会发现,而对于inline来说,编译器是进行检查的,而且inline函数与define一样,是进行内部展开的,并不需要进行函数的调用,也就是不需要堆栈去浪费时间。

  还有就是老师讲了一种cpp和h分开的方式,这种方法比较好的原因是因为inline函数不能写太多行代码,所以应该尽量用.cpp+.h文件的形式!

时间: 2024-10-11 04:29:32

c++课程后的感想与记录的相关文章

mysql中左连接后,最终的记录数大于左边表的记录分析

如果B表符合条件的记录数大于1条,就会出现1:n的情况,这样left join后的结果,记录数会多于A表的记录数. 例如:member与member_login_log表的结构如下,member记录会员信息,member_login_log记录会员每日的登入记录.member表的id与member_login_log表的uid是对应关系. member 表 member_login_log 表 查询member用户的资料及最后登入日期:如果直接使用left join select a.id, a

关于读过邹鑫老师的博客后的感想

看了邹鑫老师的博客,对于大学和高中的差别有了更深刻的印象. 一开始,我觉得大学和高中只不过是对我们的称谓发生了变化,会有一部分人对我们很敬佩,可看了邹鑫老师的博客,我发现这不止止是在称谓上的改变,更是我们自己的改变. 从高中进入到大学,是我们性格上,也是学习态度上的改变,在高中,我们是跟着老师学习,老师让我们干什么我们就做什么.然而到了大学,是考验我们自己学习的能力,而不是在依赖老师给我们的知识,就像邹鑫老师的博客中说的,我们和老师的关系就像教练和学徒的关系,教练是辅助我们的,一切都需要自己去摸

配置github——每次提交后使contributions有记录(有小绿格子)

# 配置github--每次提交后使contributions有记录(有小绿格子) 这几天都有将自己的代码提交到github上,但是在profile里的contributions的表格中没有我提交的记录,看到下面有蓝色的连接 Learn how we count contributions. 点击后可以查看,但是感觉太麻烦了.就直接去网上找了一篇文章,具体操作如下: 1. 先查看自己的邮箱是否和github上绑定的邮箱一致否? * 查看到操作: * 先在本地进行git bash,然后输入git

一个拍卖系统的完工后的感想和难点记录

一,拍卖系统的难点在于 拍卖时状态的变更:待拍商品在时间到了后怎么变在拍,在拍时商品结束时间到期了,怎么变拍卖成功或者流拍等: 二,其中涉及到定时器和线程的情况,其次是在集群部署的情况下需要考虑锁拍卖线程的独立性问题: 简单的记录一下做的过程中出现的问题: 开始时老是想不通怎么让其在线程中变更状态:就是页面状态变更和线程使用的关系,线程内部每秒跑状态变更,页面按道理来说应该是后端推送到页面的,但第一版是个简单版本,暂时页面定时刷即可,后期改进需要优化这块:还有就是待拍商品在启动时应该单独是一个定

计蒜客课程竞赛入门--最近通话记录(STL队列) 流程记

蒜头君前几天把最心爱的小麦手机摔坏了,新手机又要好几天才能到货,于是蒜头君不得暂时用它珍藏已久的诺鸡鸭非智能手机了.手机的存储空间非常小,以至于未接来电.已接来电和已拨电话都只能各自保存最近的10条记录. 蒜头买了手机以后的未接来电.已接来电和已拨电话记录全部给出.机智的蒜头能够猜到这个手机使用了循环队列来实现最近记录的功能,不过它不会写代码(没手怎么写π_π),于是它来求助正在算法课程中过关斩将的你了.你能帮帮它吗? 输入格式: 每条记录包含两个数字,第一个数代表记录类型,第二个数代表手机号码

进入游戏开发公司后的感想

感觉有苦逼,就发表下自己感想,发泄一下压力,分享一下感想. 进入游戏公司第一天上班14个小时,加班到晚上12点,一前知道游戏开发行业加班时间长,进去后发现比自己想象中时间还要长,不过待遇福利挺 好的,所以习惯就好.公司有页游和手游开发,研发气氛好,技术讨论很不客气,你代码哪里不好了一般都是一群人在批斗,代码审核严格, 利用成长,不过这样压力也大.刚开始我先做游戏后台数据管理,做完这个之后才开始做真正的游戏后台(包括各种游戏逻辑功能),前面不 轻松,因为我是从非游戏行业转过来开发,虽然喜欢玩游戏,

转行开发半年后的感想

一.引言 从原来的单位跳槽至今已经半年了,无论自身能力.心态都经历了几轮过山车.从最开始拿着上家公司一半工资,每天却兴奋开心得不得了,到后来发现自己的差距,奋发努力,希望及早弥补差距,再后来迷茫不知所措,到如今获得小小成就的同时伴随着失望.恐惧.焦虑.总结下转行做程序员的一些心得吧,和后来人共勉吧. 二.端正心态.从头开始 从毕业开始工作已经三年了,在外界看来我的工作稳定.有钱.有前途的金饭碗,但我和我的小伙伴们都深知在体制内混日子的痛苦,每天重复工作,早早的心理年龄就变成了老年人.好在我自己平

α发布后的感想(组长作业)

今天α发布后,组长作业,谈谈心得体会,谈谈哪些做的好的地方,哪些做的不好.耐撕团队组长因有事缺席,耐撕团队的α发布由齐同学来主持,所以这个作业由齐同学代理. 先谈谈耐撕团队在α发布会中齐同学认为做的好的地方吧:(傲娇状) 1.关于提前准备 说起提前准备,如果熟悉足球运动或篮球运动的同学一定知道,大部分的优秀运动员在比赛前都有"踩场地"的习惯,就是提前进比赛场地适应性热身.在α发布会之前,同样,耐撕团队的三名队员也提前30分钟来到了教室,提前30分钟的时间是齐同学提出的(此处窃喜状),原

学jQuery Mobile后的感想

jQuery Mobile是jQuery 在手机上和平板设备上的版本.jQuery Mobile 不仅会给主流移动平台带来jQuery核心库,而且会发布一个完整统一的jQuery移动UI框架.支持全球主流的移动平台.jQuery Mobile开发团队说:能开发这个项目,我们非常兴奋.移动Web太需要一个跨浏览器的框架,让开发人员开发出真正的移动Web网站. 经过了几天的jquery mobile的学习以后,不得不说手机界面的难易程度并不亚于普通页面.现在的我不得不佩服那些专研手机界面的大神门.在