- 博客(18)
- 收藏
- 关注
原创 cpp11新特性之智能指针(下):深入理解现代cpp中的智能指针shared_ptr、unique_ptr 以及 weak_ptr
上一篇文章同大家深入探讨了auto_ptr。今天给大家带来的是对于shared_ptrunique_ptr以及weak_ptr的深入理解,通过测试案例和源码剖析对这三种重要的智能指针的使用方法,注意事项以及适用范围进行了全面的总结,相信经过这些测试大家对于智能指针的理解会更上一层楼。
2024-02-07 21:49:50
1326
2
原创 cpp11新特性之智能指针(上):关于auto_ptr的一切
今天,我想和大家讨论一个已被淘汰的智能指针——auto_ptr。我们将从它的使用方法、内部源码分析、存在的缺陷,到常见的陷阱几个方面进行深入探讨,以彻底把握智能指针的核心逻辑。这不仅为我们后续学习 shared_ptr、unique_ptr 以及 weak_ptr 打下了坚实的基础,而且通过理解其需求和不足,我们能更加深刻地体会智能指针设计背后的理念,使得我们在使用它们时更加得心应手。
2024-02-06 10:06:56
2023
5
原创 cpp11新特性之类型转换
今天带来的是cpp11风格类型转换的使用方法,对于各种使用方法给出了相应的测试代码。总体来说应该是覆盖了cpp中的重点强制转换的使用场景。对于cpp风格转换的使用当然是值得鼓励的,但是也要避免这类操作的滥用,在执行操作之前一定要清楚自己的行为。
2024-02-05 10:06:08
1983
3
原创 一部分cpp的新特性:左右值的深入理解、函数返回引用报错详解以及在此过程中涉及到的指针和引用的部分区别和一点点关于std::array的简单介绍
本文带来的是explicit关键字详解,左右值的深入理解、函数返回引用报错详解以及在此过程中涉及到的指针和引用的部分区别还有一些关于std::array的介绍
2024-02-01 16:25:09
1137
2
原创 项目实战:一个基于标准库的具备最值获取的万能容器实现
今天带来的这个项目也采用了类似标准库中的编写规范,最终实现了一个通用的容器能够插入不同类型的对象并实现最大最小值的获取。
2024-01-31 17:38:39
1152
1
原创 变参模板和完美转发(Variadic Template and Perfect Forwarding)以及一些关于vector 和 list 添加元素效率的比较
C++11 的两个强大新特性:变参模板和完美转发,以及比较 list 和 vector 在性能上的区别。
2024-01-31 13:28:05
1295
原创 CPP中的异常处理机制,抛出异常时几种方法性能的比较,异常处理和继承配合调用多态的一个小项目,以及标准库中的异常类(顺便贴一个关于win上clion占用内存过高的解决方法)
CPP中的异常处理机制,抛出异常时几种方法性能的比较,以及异常处理和继承配合调用多态的一个小项目,缓解CLion因内存不足卡顿的问题 。
2024-01-25 22:19:28
1336
2
原创 关于模板类中的静态成员,以及一个简单的万能容器Vector类的实现。
关于模板类静态成员变量的运行模式,以及手写一个简单的万能容器Vector并在其中装入自定义类型Student对象以及其指针。
2024-01-22 22:09:52
2608
3
原创 关于cpp的范型编程,其中包括了:模板函数,模板类,模板类的继承,以及模板类的写法,还有比较特殊的友元函数在模板类外实现的方法。
本文主要关于cpp的范型编程,其中包括了:模板函数,模板类,模板类的继承,以及模板类的写法,还有比较特殊的友元函数在模板类外实现的方法。
2024-01-21 22:03:11
1152
2
原创 多重继承派生类对象的内存结构分析以及相应派生类vptr调用多态的方法
本次基于上一篇文章的实现进一步深入,分析了派生类对象的内存分布,并依据此分析实现了派生类对象通过vptr+偏移量 访问类内以及基类中的所有虚函数和相应的成员变量,进一步验证了这种内存分布的真实性。
2024-01-20 18:26:19
1091
9
原创 cpp面向对象的又一個重要特性, 多态(polymorphism)的vptr指针调用实现,以及为什么int**到了64位系统就会失效
关于cpp中运行时多态的机理,以及用vptr,vtbl手动实现一个多态的调用
2024-01-19 17:24:31
1492
8
原创 cpp面向对象编程中的两个常见错误:const 成员方法和拷贝赋值(Copy assignment)
在初学cpp时,我们常常会进入一种迷之自信死局,一看教程就会,一写代码就错,本次带来两个Rock老师提到的cpp初学者常见的两个小错误,很难被编译器发现的错误。
2024-01-19 14:14:29
683
1
原创 浅浅纪念一下优快云的一个里程碑:欢迎第100位粉丝
从零到一百,在持续四天的发文以后,我的粉丝终于超过100了。“学习之路没有开心的一天,也没有不开心的一天,只有努力的每一天。”
2024-01-19 09:03:28
675
1
原创 关于如何在vector中删除某个特定的对象(c++ 标准库中)
关于如何在vector中删除某个特定的对象的几种写法,涉及到了std::swap(), std::prev(iterator, count), erase(), std::move(),仅用于自学总结~大神请勿喷~
2024-01-18 16:44:30
1262
1
原创 上文代码中几点问题的解决和思考(解决[字符串类型]造成的二异性问题“ note: candidate: ‘operator[](long int, const char*)’ (built-in)“)
关于字符串和字符类型指针的二异性问题,以及cpp中获取字符长度函数strlen 和 sizeof的区别
2024-01-17 20:10:40
1177
4
原创 在奇牛软件学院的第三个学习记录
昨天卡在了一个小点上卡了很久,今天早上找到了一个解决的办法,但是这个问题的原因我并没有理解,还是需要继续探索~~
2024-01-17 15:16:29
1453
6
原创 在奇牛软件学院的第一个学习记录
作为一名非计算机专业的大龄工科生,我正踏上转向编程(特别是图形学领域)的旅程。在这个过程中,C++成为了我的主要工具。回顾过去一年,我时断时续地学习C++,却发现自己经常在重复相同的概念,没有明确的学习方向,常感到知识点零散且琐碎。一次偶然的机会,我在B站上看到了Rock老师和学生的交流视频,被他负责任的态度所吸引。在与他简短的沟通后,我决定加入奇牛软件学院。通过学院的项目实践,我希望能够以更系统、实用的方式来掌握C++。同时,我也期待对计算机科学有更深入的理解,尤其是数据结构和算法。
2024-01-15 09:43:17
2767
14
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人