上一页 1 2 3 4 5 6 ··· 12 下一页
摘要: 相关数据结构:blocks,super-blocks,bitmap,mini-vector block:分配单元,super-block:管理单元 super_block_size = usecount + bitmap + blocks * block_size mini-vector 是控制单元 阅读全文
posted @ 2023-08-23 15:37 stu--wy 阅读(13) 评论(0) 推荐(0) 编辑
摘要: 三个class,第一层是chunk,第二层是vector<chunk> FixedAllocator,第三层是vector<vector<chunk>> SmallObjallocator。第一层的chunk负责实际内存的管理,一个chunk管理一个unsigned char[blockSize * 阅读全文
posted @ 2023-08-23 10:09 stu--wy 阅读(12) 评论(0) 推荐(0) 编辑
摘要: static static函数没有this pointer,static数据只有一份,static函数只能处理static数据。static数据在class外需要提供定义。 单例设计 class A{ public: static A& getInstance(); setup() {...} pr 阅读全文
posted @ 2023-08-22 15:25 stu--wy 阅读(24) 评论(0) 推荐(0) 编辑
摘要: Object Based:面对的是单一class的设计;Object Oriented:面对的是多重classes的设计,classes和classes之间的关系。 class 前向声明,声明,定义。 函数若在class body中定义完成,便自动成为inline函数。如果函数太复杂就不会成为inl 阅读全文
posted @ 2023-08-22 15:24 stu--wy 阅读(6) 评论(0) 推荐(0) 编辑
摘要: new的动作:默认调用全局operator new ,指针转型,构造。delete的动作:析构,然后默认调用全局operator delete。全局的operator new & 全局的operator delete 就是做malloc & free。如果operator new & operato 阅读全文
posted @ 2023-08-22 15:22 stu--wy 阅读(42) 评论(0) 推荐(0) 编辑
摘要: 设计主要目的:减少malloc的cookie的开销 设计主要方法:减少malloc的次数,用数据结构管理已经分配的内存。 核心数据结构:free_list[16]存储16根链表头,free_list[i],0~15 ,free_list[i]管理(i + 1)*16字节型区块。 客户所需要内存块大小 阅读全文
posted @ 2023-08-22 11:21 stu--wy 阅读(18) 评论(0) 推荐(0) 编辑
摘要: 让接口容易被正确使用,不易被误用 任何接口如果要求客户记得做某些事情,就是有着“不正确使用”的倾向。 设计class犹如type C++ 就像在其他OOP语言一样,当你定义一个新class,也就定义了一个新type。身为C++程序员,你的许多时间主要用来扩张你的类型系统。这意味着你不只是class设 阅读全文
posted @ 2023-08-20 09:27 stu--wy 阅读(6) 评论(0) 推荐(0) 编辑
摘要: const 成员函数,表示this 是一个指向常量的指针。常量对象以及常量对象的引用或指针都只能调用常量成员函数。 this 的目的总是指向“这个”对象,所以this是一个常量指针,我们不允许改变this中保存的地址。 只有当类没有声明任何构造函数时,编译器才会自动的生成默认构造函数 构造函数,会在 阅读全文
posted @ 2023-08-15 17:57 stu--wy 阅读(91) 评论(0) 推荐(0) 编辑
摘要: 不要返回局部对象的引用或指针 函数重载:同一作用域内的几个函数名字相同但形参列表不同(形参的个数或类型不同) 一个拥有顶层const的形参无法和另一个没有顶层const的形参区分开来,底层const 可以区分 const_cast 和重载联系紧密 如果我们在内层作用域中声明名字,它将隐藏外层作用域中 阅读全文
posted @ 2023-08-13 16:33 stu--wy 阅读(12) 评论(0) 推荐(0) 编辑
摘要: 当把string 对象和子符字面值混在一条语句中使用时,必须确保每个 + 运算符的两侧的运算对象至少有一个是string 用花括号对vector做初始化,不能用下标形式添加元素 迭代器,iterator const_iterator 两种迭代器类型,如果vector 或 string 对象是常量,只 阅读全文
posted @ 2023-08-13 16:33 stu--wy 阅读(4) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 ··· 12 下一页