我的c++学习小结
我在职坐标的 C++ 学习阶段已经结束了。 回头想想这段日子,其实挺感慨的。我刚进来那会儿,连指针都搞不太明白,写个类都磕磕绊绊,到现在能自己搭类模板、用智能指针、玩设计模式,还做了一个像模像样的项目,变化是真的大。
先说面向对象这块。一开始封装、继承、多态对我来说就是三个干巴巴的词,背得出来但说不上有感觉。后来代码写多了,我才慢慢品出味儿来——C++ 这门语言,核心真不是背语法,而是怎么管资源、怎么搭抽象。最早手动 new、delete 的时候,心里总是虚的,生怕哪里忘了释放就漏内存。后来学了 unique_ptr,把动态内存交给对象管,资源跟着对象一起生一起灭,这才踏实了,也真正懂了什么叫 RAII。再后来我把动态数组、智能指针塞进自己写的类模板里,又配合运算符重载和文件 I/O,把 Student 对象存进文本、读出来还能还原。这一套串下来,零碎的知识点终于连成了线,每次调试报错都在帮我往底层多看一眼。
设计模式那段时间也让我开了眼。简单工厂配上策略模式,是我第一次真正体会到“面向接口编程”是啥感觉——想加个新功能,新写个策略类就行,原来的主逻辑一行都不用动,那种“对扩展开放、对修改关闭”的爽感,真的会上瘾。抽象工厂教我怎么管一组相关的产品,代理模式让我学会在访问和加载上动脑筋。学到这儿我才反应过来,模式不是死套路,是前人踩了一堆坑总结出来的经验。
STL 这块我学得也挺过瘾。vector 怎么自动扩容、deque 为啥两头都能进出、迭代器怎么用一套写法遍历各种容器,我一边用一边琢磨它背后的设计,也慢慢养成了“有现成的就不重复造轮子”的习惯。
到了项目阶段,我把这些全用上了。Linux 远程终端管理系统里,我选了 sqlite3 做数据持久化。说实话一开始我也没接触过它,边查边写,从建库建表、写增删改查的 SQL,到在 C++ 里用接口连接执行,再封装一层操作类,数据这才真正存得下来、查得出来。中间踩了不少坑:编码对不上、语句写错没报错只是查不到、事务忘提交数据丢了……一个个抠过来之后,我对“程序怎么跟数据库打交道”这事才有了真切的体会,也明白了数据库不是会写两句 SQL 就行,得跟代码结构、错误处理一起考虑。
整个项目从需求、模块划分到编码、调试,再到最后跑通,每一步踩的坑最后都成了经验。
浙公网安备 33010602011771号