随笔分类 -  C++

摘要:引言 使用new expression为类的多个实例分配动态内存时,cookie导致内存利用率可能不高,此时我们通过实现类的内存池来降低overhead。从不成熟到巧妙优化的内存池,得益于union的分时复用特性,内存利用率得到了提高。 原因 在实例化某个类的对象时(在heap而不是stack中), 阅读全文
posted @ 2021-08-07 12:01 HickeyZhang 阅读(1043) 评论(3) 推荐(2)
摘要:引言 在本篇文章中,我们主要剖析c++中的动态内存管理,包括malloc、new expression、operator new、array new和allocator内存分配方法以及对应的内存释放方式和他们之间的调用关系,另外也包括一些会引发的陷阱如内存泄漏。 动态内存管理函数及其调用关系 c++ 阅读全文
posted @ 2021-08-06 14:23 HickeyZhang 阅读(3283) 评论(0) 推荐(21)
摘要:引言 函数指针指向的是函数而不是对象。函数指针指向某种特定类型,就像我们可以定义指向int变量的指针,指向char变量的指针以及指向string变量的指针,函数指针指向的这种特定类型由函数的返回类型和形参类型共同决定,而与函数名无关。 例如有一个函数compare声明如下: bool compare 阅读全文
posted @ 2021-07-23 22:44 HickeyZhang 阅读(323) 评论(0) 推荐(0)
摘要:引言 c不直接处理输入和输出,而是通过标准库中的类型处理IO。IO的设备可以是文件、控制台、string。c主要定义了三种IO类型,分别被包含在iostream、fstream、sstream头文件中。 为了支持使用宽字符的语言,标准库定义了一组类型和对象操纵wchar_t类型的数据。 以下是这三种 阅读全文
posted @ 2021-07-22 17:15 HickeyZhang 阅读(553) 评论(3) 推荐(0)
摘要:引言 有时候需要类的一些成员与类本身相关联,而不是与类的每个对象相关联。比如类的所有对象都要共享的变量,这个时候我们就要用到类的静态成员。 声明类的静态成员 声明静态成员的方法是使用static关键字。 static成员可以是public也可以是private的。 例如,定义一个类表示银行的账户记录 阅读全文
posted @ 2021-07-20 23:15 HickeyZhang 阅读(341) 评论(0) 推荐(1)