主页

C++引用计数基类与智能指针的实现

写在前面 参考了 More Effective C++ Item28/29, 非常经典的一个条款, 把引用计数方法的实现完整呈现出来, 细节也讲得非常细致. 测试代码我写在一个文件里面了, 通过 namespace 分隔, 有兴趣的同学可以看这里: Effective-Cpp-All/more-effective-c++/Techniques_Idioms_Patterns/item29_Reference_Counting.cpp at main · zorchp/Effective-Cpp-All · GitHub; 技巧/准则 struct 嵌套于 class的 private 段落内, 可以很方便地让该 class 的所有成员有权处理这个 struct, 而又...

阅读更多

操作系统导论笔记 持久化

写在前面 这部分主要是讲数据的持久化, 也就是磁盘存取, 其实对应了内存虚拟化中交换空间那块. 当然还有一些分布式系统的内容, 这里就不提了. 这本书真的很经典! I/O 设备 寄存器 数据寄存器 指令寄存器 状态寄存器 磁盘寻址 DMA 直接内存访问 中断 慢的系统: 中断 快的系统: 轮询 或者二者结合 (硬件)中断允许 CPU 计算与I/O 操作重叠, 这是提高 CPU 利用率的关键. 磁盘驱动器 性能评价指标 寻道时间(多磁道) 旋转延迟(单磁道) 磁盘调度 最短寻道时间优先: SSTF 可能导致饥饿 电梯: SCAN 以跨越磁道的顺序来服务磁盘请求 最短定位时间优先: SPTF 视情况而...

阅读更多

C++内联inline函数失效的几种情况与分析

写在前面 参考: Effective C++ Item30 Inside the C++ Object Model 4.5 inline Functions gcc之inline关键字(汇编角度查看内联) ; 事实上现代的 C++编译器已经可以智能优化代码了, 并不需要 inline 来刻意处理了, 这里只是为了学习这种历史遗留下来的优化方法以及 inline 的一些可能会失效的情况. inline 的处理 第一阶段: 分析函数定义, 以决定函数的本质 inline 能力(与编译器相关的能力) 如果函数因为复杂度等原因不能恒伟内敛, 就会被转为一个 static 函数, 并在’被编译模块’内产生对应的函数定义. 第二阶段 真正的 inline ...

阅读更多

深度探索c++对象模型笔记(第四章)成员函数语义学

写在前面 一般来说, 类的成员函数有三种: 非静态成员函数(当然也是非虚函数) 静态成员函数 虚成员函数 第一种需要 this 指针(通常是在函数的第一个参数位置传入)以联系类对象. 非静态成员函数 #include <cstdio> class B { public: B() { printf("%s default-ctor\n", __func__); } B(const B &) { printf("%s copy-ctor\n", __func__); } B &operator=(const B &) { printf("%s...

阅读更多

C++中的三种访问级别与继承下的情况总结

写在前面 写一下访问控制部分的总结, 内容来自 C++Primer5ed. 加上了一点自己的理解和例子, 方便大家学习. 文中的例子都在 clang++ 16 (MacOS13.4 arm64) 下运行测试通过. 总览 总体认知 public: 能被所有用户 (类内成员 / 对象 / 友元) 访问 protected: 能被 派生类成员 / 友元 访问 private: 能被 类内成员 / 友元 访问 这里最不好理解的就是 protected 级别, 因为这个级别既像 public(在派生类中)又像 private(在类的实例对象中). 具体认知: protected 和私有成员类似, 受保护成员对类的用户(对象)来说不可访问 和公有成员类似,...

阅读更多

Sql题目总结

写在前面 预备知识 联结(join) SQL最强大的功能之一就是能在数据检索查询的执行中联结(join) 表。联结是利用SQL的SELECT能执行的最重要的操作,很好地理解联结 及其语法是学习SQL的一个极为重要的组成部分。 – MySQL 必知必会 外键(foreignkey) 外键为某个表中的一列,它包含另一个表 的主键值,定义了两个表之间的关系。 联结是一种机制,用来在一条SELECT 语句中关联表,因此称之为联结。使用特殊的语法,可以联结多个表返 回一组输出,联结在运行时关联表中正确的行。 通过相等的值连接两个表的方法为等值联结(equijoin),它基于两个表之间的 相等测试。这种联结也称为内部联结。 典型题目 1251. 平均售价;...

阅读更多

Total views.
您是Zorch的第 个小伙伴
Hits