首页
Sterben_01
取消

响应式设计

观察者模式到底是谁持有谁? 在 C++反应式编程书中,开头就有一个范例 int main() { int x[] = { 1,2,3,4,5 }; EvenNumberObservable *t = new EvenNumberObservable(x, 5); IObserver<int>> *xy = new SimpleObse...

游戏编程模式

第一章: 序 抽象和解耦能够使得你的程序开发变得更快和更简单。但不要浪费时间来做这件事,除非你确信存在问题的代码需要这种灵活性。 在你的开发周期中要对性能进行思考和设计,但是要推迟那些降低灵活性的、底层的、详尽的优化,能晚则晚。 尽快地探索你的游戏的设计空间,但是不要走得太快留下一个烂摊子给自己。毕竟你将不得不面对它。 如果你将要删除代码,那么不要浪费时间将它整理得很整洁...

常用词汇

夯实基础 lay a solid foundation 社群 community 复习 review 二义性 Ambiguity 讲师 lecturer 线程安全 thread safety 粒度 granularity 细粒度 fine-grained 粗粒度 coarse 表项 entry 负责 be responsible for 承担...

BQ

BQ 牢记STAR scenario task action result Customer Obsession Tell me a time when you made a suggestion forclients. 告诉我你为客户提出建议的一次 customer interaction 类 When you’re worki...

C++杂记 - 5

std::pmr 多态内存分配器 先回顾一下标准分配器 这一节最好搭配侯捷的标准STL内存分配器来看,这样可以很好帮助理解一些动作的行为。 分配器的核心就是四个步骤: 分配空间(allocate),构造对象(construct),析构对象(destruct),解分配空间(deallocate)。 标准内存分配器就提供了这四个函数。多态内存分配器也提供了这四个函数。 在标准...

Modern C++ Design 笔记

这本书有点儿老,好多和模板相关的都是脱裤子放屁 第一章 策略类 整个这一章讲的都是策略类的使用。这一部分分散在模板笔记当中。包括设计模式目前没有整理,后续会整理。 核心要点就是让类可以定制化。当把一个类拆分为多个策略的时候,首先要把设计的功能模块抽离。同时要注意寻找正交的策略,也就是彼此之间无交互,可以独立更改的策略。 第二章 技术 2.5 型别对型别的映射 (就是到底用不用SFI...

More Effective C++ 笔记

基础议题 条款4:非必要不提供默认构造 这一点可能和我们之前的认知有差异。但是也是正确的。原因是在语义上或者是设计上,针对某一些类型,如果我们不能提供一个初值来初始化一个对象,那么通过默认构造实例化出来的这个对象会是无意义的。 当然了,还有很多类型是允许有默认对象的,比如空的容器之类的。 所以,如果类型展示出:从无到有生成对象是合理的 的语义,则应该有默认构造。 但是如果类型...

Effective C++ 笔记

条款25 swap函数的实现方式 具体原因没啥好说的,都能理解。概括一下使用方式。 当标准库的std::swap对某种自定义类型效率很低的时候,提供一个swap成员函数,并且确定该函数不抛出异常。 具体自定义类应该使用pimpl手法,也就是保有资源指针。所以成员swap仅仅需要交换指针。 由于通常来说,我们的保有资源指针是private的,...

模板

C++ template 此笔记应和杂记3的模板相关部分搭配查看。 第一章 函数模板 https://youtu.be/XN319NYEOcE 0.0 一些深度理解,必须提前知道 只有函数模板(function template), 没有模板函数(templated function)。类模板同理 函数(主)模板并不是函数。函数模板没有类似于函数...

C++杂记 - 4

存储类说明符 这是一个被我忽视了的细节。在官方文档中提到了: auto或 (C++11 前)无说明符 - 自动存储期。 这类对象的存储在外围代码块开始时分配,并在结束时解分配。未声明为 static、extern 或 thread_local 的所有局部对象均拥有此存储期。 register - 自动存储期,另提示编译器将此对象置于处理器的...