
C++ 基础知识
henuzxy
已经成为刷题过千的男人,即将成为cf 1900分的男人。
展开
-
C++ 智能指针
在C++中,动态内存的管理通过new 和 delete来进行。但却经常存在以下三个常见问题:忘记通过delete 释放内存,这在编程中经常发生,尤其在某个函数内申请的一块内存作为临时使用,但在函数结束后却没释放。这就会导致“内存泄露”问题。使用已经释放过的内存,当有多个指针指向同一块内存时,某个指针释放后,却仍旧使用其他指针,就会导致这种错误。通过释放内存后把指针置为空,可以解决这种情况。...原创 2019-08-07 20:14:31 · 661 阅读 · 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 · 791 阅读 · 0 评论 -
C++ primer 内存管理 allocator类
当我们分配一大块内存时,我们通常计划再这块内存上按需构造对象,在次情况下,我们希望内存分配和对象构造分离。内存分配和对象构造组合在一起可能会导致不必要的浪费,比如数组等,有时我们并不需这么大的空间。allocator标准库allocator类定义在头文件memory中,它可以用来将内存分配和对象构造分离,它提供一种类型感知的内存分配方法,它分配的内存是原始的、未构造的。它也是一个模板对象,所...原创 2019-09-04 21:10:42 · 311 阅读 · 0 评论