C++
文章平均质量分 76
珏君城
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【C++内存管理】G2.9 std::alloc 源码分析
G2.9 std:alloc源码分析适配器一级适配器二级适配器常量定义类的结构工具函数allocate函数deallocate函数refill函数chunk_alloc函数 适配器 在视频的案例中说道内存分有两级适配器,一级适配器就是直接用malloc()和free()去分配和回收内存。 而二级适配器是自定义分配(连续)内存,和释放内存。可以减少内存碎片化和提高内存的利用率。 一级适配器 //---------------------------------------------- // 第1級配置器。转载 2021-02-07 18:05:05 · 344 阅读 · 0 评论 -
【转载:C++内存管理】G2.9 std::alloc 运行模式
在上一篇里面说到,vs 的标准分配器 std::allocator 并没有做内存管理。gnu的历史版本 2.9 中的标准分配器 std::allocator 也没有做内存管理,但是它提供的 extended allocator 中,std::alloc 就是一个做了内存管理的版本。在 gnu 新版本中,__gnu_cxx::__pool_alloc<_Ty> 就是 G2.9 的 std::alloc 的化身。 下面先分析以下 std::alloc 的运行模式,再下一篇分析具体代码。 不过先需要前转载 2021-02-07 04:06:51 · 354 阅读 · 4 评论 -
C++ macro-class宏定义类
// 2021-2-6-macro_class.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。 // #include <iostream> using namespace std; namespace myTest { class allocator { private: struct obj { struct obj* next; }; public:原创 2021-02-06 15:33:56 · 1312 阅读 · 0 评论 -
C++ 内存管理(一)primitives 基础工具
目录 一、四种基础工具的使用 1.1 四种工具的介绍 1.1.1 new、::operator new()、malloc 三者之间的关系 1.1.2 delete、free 1.1.3 array new、array delete 1.1.4 placement new 1.2 实现内存管理工具的重载 1.2.1 重载全局版本 ::operator new / ::operator delete 1.2.2 重载类方法 operator new / operator delete 1.2.3 重载大于一..转载 2021-02-06 00:22:29 · 255 阅读 · 0 评论 -
指针和多维数组
int ia[3][4] = { {0,1,2,3}, {4,5,6,7}, {8,9,10,11} }; int(*p)[4] = ia; for (auto p = ia; p != ia + 3; ++p) { for (auto q = *p; q != *p + 4; ++q) { cout << *q << " "; } cout << endl; } int *ip[4]表示的是整型指针数组 int (*i..原创 2020-07-05 00:20:25 · 158 阅读 · 0 评论 -
指针混淆问题
很多时候我们会对引用和指针的使用模糊不清。下面将结合使用一下 下面展示一些 内联代码片。 int i = 42; int j = 50; cout << "i = " << i << " &i= " << &i << endl; int* p=&i;//让p指向i cout << "*p = " << *p << " p= " << p << endl原创 2020-07-04 13:22:53 · 200 阅读 · 0 评论 -
C++easyX实现烟花
/* *************** HeadFiles *************** */ #include <easyx.h> #include <cmath> #include <ctime> #include <list> /* *************** GlobleValue *************** */ long re...原创 2020-04-16 12:39:39 · 10036 阅读 · 22 评论 -
C++函数指针
C++Primer 6.7函数指针 1.指针括号 //*pf两端加上括号---(*pf)则声明的是可以指向该函数的指针 bool (*pf)(const string&, const string&); //*fp两端没有括号,该函数返回的是bool* bool* fp(const string&, const string&); 2.函数指针的使用 但我们把函数...原创 2020-04-15 00:28:24 · 205 阅读 · 0 评论
分享