- 博客(10)
- 收藏
- 关注
原创 c++智能指针 unique_ptr
还有右值引用的使用(可以在函数里内部决定是否使用std::move转移,没用move则没有转移)。即在转移后继续调用这个函数,则会发生错误,可观察出结尾的-------没有打印就终止了。1、直接由裸指针赋值,不推荐,最好使用std::move转移,避免多个指针让unique_ptr失去本来意义。并不强制传递,可由函数体内部决定是否使用std::move接收,使用了std::move才算传递,然而,如果Cat中增加一个print函数,并不使用任何属性,只是输出here。在转移后再调用here却可以成功。
2025-03-16 14:49:41
357
原创 C++ RAII原则
堆对象(使用new创建)则需要在手动管理对象的生命周期,在析构函数中释放资源,容易出现遗忘释放的情况,增加代码的复杂度。1、异常安全:在构造函数获取资源的过程中发生异常,应该立即抛出异常,并且确保没有留下未释放的资源。2、栈对象对于实现RAII原则有天然的优势,栈对象在离开所在的作用域时会自动调用析构函数。2、在析构函数中不应该抛出异常,因为析构函数会被隐性调用,抛出异常会导致不确定的结果。1、各种类型的资源(内存、打开的文件、信号量)封装到类中,1、通过将资源和对象的生命周期绑定,实现资源的自动管理。
2025-03-16 00:51:16
275
原创 软工实践寒假作业
作为一名大学生,上课认真听讲还是有必要的,尽管大多数课程在网络上都有丰富的资源,但是在课堂上的学习氛围是网络资源难以创造的。我们应该以课程为主,随着课程的进度,在课余时间借助网络学习资源加以辅助、补充。代码量与个人的编码能力之间存在关系,但并不是唯一的关键因素。代码量可以在一定程度上反映一个人的编码经验和工作量,但并不总是准确地反映编码质量和技能水平。六月份——容器化和微服务、持续集成和持续部署。四月份——部署服务器、安全性和身份验证。三月份——API设计、版本控制。三月份——web框架学习。
2024-02-16 14:10:37
1271
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人