-
读书笔记 effective c++ Item 42 理解typename的两种涵义
1. class和typename含义相同的例子问题:在下面的模板声明中class和typename的区别是什么?1 template<class T> class Widget; // uses “class”2 3 template<typename T> class Widget;...
作者:小编 日期:2026.06.23 分类:语言 339 -
读书笔记 effective c++ Item 41 理解隐式接口和编译期多态
1. 显示接口和运行时多态面向对象编程的世界围绕着显式接口和运行时多态。举个例子,考虑下面的类(无意义的类), 1 class Widget { 2 public: 3 Widget(); 4 virtual ~Widget(); 5 6 virtual std::size_t size() const; 7 virtual voi...
作者:小编 日期:2026.06.23 分类:文档 404 -
Pandas 中文官档 ~ 基础用法4
重置索引与更换标签reindex() 是 pandas 里实现数据对齐的基本方法,该方法执行几乎所有功能都要用到的标签对齐功能。 reindex 指的是沿着指定轴,让数据与给定的一组标签进行匹配。该功能完成以下几项操作:让现有数据匹配一组新标签,并重新排序;在无数据但有标签的位置插入缺失值(NA)标记;如果指定,则按逻辑填充无标签的数据,该操作多见于时间序列数据。示例如下:In [196]: s = pd.Series(np.random.randn(5), index=[&...
作者:小编 日期:2026.06.23 分类:类库 1368 -
读书笔记 effective C++ Item 40 明智而谨慎的使用多继承
1. 多继承的两个阵营当我们谈论到多继承(MI)的时候,C++委员会被分为两个基本阵营。一个阵营相信如果单继承是好的C++性质,那么多继承肯定会更好。另外一个阵营则争辩道单继承诚然是好的,但多继承太麻烦,而不值得去使用它。在这个条款中,我的主要目标是让你明白多继承的这两个观点。2. 从多个基类中继承的名字不能相同第一件事情是你需要认识...
作者:小编 日期:2026.06.23 分类:类库 1144 -
读书笔记 effective c++ Item 39 明智而谨慎的使用private继承
1. private 继承介绍Item 32表明C++把public继承当作”is-a”关系来对待。考虑一个继承体系,一个类Student public 继承自类Person,如果一个函数的成功调用需要从Student到Person的隐式转换,这时候“is-a”关系就出现了。对于一部分实例,使用private继承来代替public继承...
作者:小编 日期:2026.06.23 分类:教程 940 -
读书笔记 effective c++ Item 38 通过组合(composition)为 “has-a”或者“is-implemented-in-terms-of”建模
1. 什么是组合(composition)?组合(composition)是一种类型之间的关系,这种关系当一种类型的对象包含另外一种类型的对象时就会产生。举个例子: 1 class Address { ... }; // where someone lives 2 3 class PhoneNumber { ... }...
作者:小编 日期:2026.06.23 分类:工具 736 -
读书笔记 effective c++ Item 37 永远不要重新定义继承而来的函数默认参数值
从一开始就让我们简化这次的讨论。你有两类你能够继承的函数:虚函数和非虚函数。然而,重新定义一个非虚函数总是错误的(Item 36),所以我们可以安全的把这个条款的讨论限定在继承带默认参数值的虚函数上。1. 虚函数是动态绑定的,而默认参数是静态绑定的在这种情况下,这个条款的验证就相当直接了:虚函数是动态绑定的,而默认参数值是静态绑定的...
作者:小编 日期:2026.06.23 分类:语言 1482 -
大数据计算引擎,你 pick 哪个?
不知道你是否有过和我类似的经历?我是 2018 年 6 月加入公司,一直负责监控平台的告警系统。之后,我们的整个监控平台架构中途换过两次,其中一次架构发生了巨大的变化。我们监控告警平台最早的架构如下图所示:这个架构的挑战难点在于:海量的监控数据(Metric & Log & Trace 数据)实时写入 ElasticSearch;多维度的监控指标页面展示(Dashboard) 查 ElasticSearch 的数据比较频繁;不断递增的告警规则需要通过查询 El...
作者:小编 日期:2026.06.23 分类:类库 470 -
读书笔记 effective c++ Item 36 永远不要重新定义继承而来的非虚函数
1. 为什么不要重新定义继承而来的非虚函数——实际论证假设我告诉你一个类D public继承类B,在类B中定义了一个public成员函数mf。Mf的参数和返回类型并不重要,所以假设它们都是void。实现如下:1 class B {2 public:3 void mf();4 ...5 };6 lass D: public B { ....
作者:小编 日期:2026.06.23 分类:语言 1133 -
读书笔记 effective c++ Item 35 考虑虚函数的替代者
1. 突破思维——不要将思维限定在面向对象方法上你正在制作一个视频游戏,你正在为游戏中的人物设计一个类继承体系。你的游戏处在农耕时代,人类很容易受伤或者说健康度降低。因此你决定为其提供一个成员函数,healthValue,返回一个整型值来表明一个人物的健康度。因为不同的人物会用不同的方式来计算健康度,将healthValue声明为虚...
作者:小编 日期:2026.06.23 分类:系统 196






