
C++基础
文章平均质量分 68
菜鸟的Zoom之旅
这个作者很懒,什么都没留下…
展开
-
【C++基础】lambda表达式
lambda表达式的相关整理原创 2023-09-12 22:43:01 · 202 阅读 · 0 评论 -
【C++基础】左值引用、右值引用、move、forward
对左值引用、右值引用、move、forward的一些整理和总结原创 2023-09-12 21:26:19 · 213 阅读 · 0 评论 -
【C++基础】简单工程模式、工厂模式、抽象工程模式
工厂模式的一些整理原创 2023-09-12 11:33:04 · 369 阅读 · 0 评论 -
【C++基础】观察者模式(“发布-订阅”模式)
观察者模式的一些整理和摘抄原创 2023-09-11 23:05:05 · 937 阅读 · 0 评论 -
【C++基础】单例模式
对Cpp中单例模式的一些整理原创 2023-09-11 21:19:31 · 468 阅读 · 0 评论 -
【C++基础】关于vector的扩容
以2倍的方式扩容,导致下一次申请的内存必然大于之前分配内存的总和,导致之前分配的内存不能再被使用,所以最好倍增长因子设置为(1,2)之间。1.5倍扩容可以使得 之前分配的内存被再次利用。而2倍扩容,扩容时,只能一直寻找新的内存。>2倍的扩容可能产生的堆空间浪费。固定值扩容,时间复杂度为O(n)后来看到这张图,就变得很明了。成倍扩容,时间复杂度为常数项。原创 2023-08-31 09:33:30 · 232 阅读 · 0 评论 -
【C++基础】手撕shared_ptr
当使用移动构造函数创建一个新的智能指针并将另一个智能指针的资源所有权转移给它时,移动构造不会影响引用计数。引用计数会在资源所有权转移后保持不变,原来的智能指针会被置为 nullptr ,不再指向资源。当使用移动赋值运算符将一个智能指针的资源所有权转移给另一个智能指针时,移动赋值不会影响引用计数。与移动构造类似,资源的所有权转移后,原来的智能指针会被置为 nullptr ,引用计数保持不变。构造函数(动态创建)、析构函数(销毁对象)对于引用计数的操作服从智能指针的设计规则。拷贝运算符(->、*)原创 2023-08-11 21:51:03 · 502 阅读 · 1 评论 -
【C++基础】友元总结&&一些坑
编译器会在友元类的代码中直接访问被访问类的私有成员,同样无需经过访问权限检查。编译器在生成代码时会根据友元关系插入适当的权限访问代码,以确保友元函数或友元类可以访问私有成员。这样,尽管在类的定义中进行了访问控制,但通过友元关系,某些函数或类可以绕过这些访问限制来访问私有成员。总的来说,友元关系的底层实现是。原创 2023-08-08 22:58:55 · 1585 阅读 · 0 评论