![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++ 基础知识
henuzxy
已经成为刷题过千的男人,即将成为cf 1900分的男人。
展开
-
C++ 智能指针
在C++中,动态内存的管理通过new 和 delete来进行。 但却经常存在以下三个常见问题: 忘记通过delete 释放内存,这在编程中经常发生,尤其在某个函数内申请的一块内存作为临时使用,但在函数结束后却没释放。这就会导致“内存泄露”问题。 使用已经释放过的内存,当有多个指针指向同一块内存时,某个指针释放后,却仍旧使用其他指针,就会导致这种错误。通过释放内存后把指针置为空,可以解决这种情况。...原创 2019-08-07 20:14:31 · 627 阅读 · 0 评论 -
C++ 智能指针 循环引用以及解决方案
今天面试碰到这个问题了,结果自己没有搞清楚是个是么问题。感觉面试官说的也不太清楚。。我理解成两个两个智能指针A = B B = A,A = B,这种了。。。我还说这种不会引计数器多++。。尴尬。。自己基础方面还是有点问题。。 循环引用如下 #include<bits/stdc++.h> using namespace std; class B; class A{ public: ...原创 2019-08-16 16:04:15 · 728 阅读 · 0 评论 -
C++ primer 内存管理 allocator类
当我们分配一大块内存时,我们通常计划再这块内存上按需构造对象,在次情况下,我们希望内存分配和对象构造分离。 内存分配和对象构造组合在一起可能会导致不必要的浪费,比如数组等,有时我们并不需这么大的空间。 allocator 标准库allocator类定义在头文件memory中,它可以用来将内存分配和对象构造分离,它提供一种类型感知的内存分配方法,它分配的内存是原始的、未构造的。它也是一个模板对象,所...原创 2019-09-04 21:10:42 · 262 阅读 · 0 评论