转自 https://zhuanlan.zhihu.com/p/27652856先看一段代码:123456789101112func (x interface{}) { if x == nil { fmt.Println("empty interface") return } fmt.Println... ...
分类:
其他好文 时间:
2019-12-13 00:00:34
阅读次数:
117
Layer类简介 Layer是caffe中搭建网络的基本单元,caffe代码中包含大量Layer基类派生出来的各种各样的层,各自通过虚函数 Forward() 和 Backward() 实现自己的功能。 Forward() 函数用于前向计算过程,由 bottom blob 计算 top blob 和 ...
分类:
其他好文 时间:
2019-12-05 01:00:27
阅读次数:
110
dynamic_cast是与继承相关的类型转换关键字dynamic_cast要求相关的类中必须有虚函数用于直接或者间接继承关系的指针(引用)之间-指针: 转换成功:得到目标类型的指针 转换失败:得到一个空指针 -引用: 转换成功:得到目标类型的引用 转换失败:得到一个异常操作信息 编译器会检查dyn ...
分类:
其他好文 时间:
2019-12-02 23:52:29
阅读次数:
166
1.面向对象中期望的行为 === a.根据实际的对象类型判断如何调用重写函数 b.父类指针(引用)指向 1).父类对象则调用父类对象中定义的函数 2).子类对象则调用子类对象中定义的函数 2.面向对象中的多态的概念 === a.根据实际的对象类型决定函数调用的具体目标 b.同样的调用语句在实际运行时 ...
分类:
其他好文 时间:
2019-12-02 11:49:17
阅读次数:
89
多重继承的问题三:多重继承可能产生多个虚函数表 sizeof(d) = 8 相关的三个类中都没有定义成员变量,那这8个字节是从哪来的,谁占用的?虚函数表指针 在Derived这个类中有两个成员,这两个成员都是虚函数表指针。在创建对象的时候,这两个成员会指向不同的虚函数表 需要进行强制类型转换时,C+ ...
分类:
其他好文 时间:
2019-12-02 00:33:45
阅读次数:
94
这里记录一下怎么计算类对象的大小。 大概总结下,类的大小需要考虑以下内容: 1. 非静态成员变量大小 2. 数据对齐到多少位 3. 有无虚函数(即需不需要指向虚函数表的指针,如果考虑继承的情况,则还需要看继承了多少个指向虚函数表的指针) 非静态成员变量大小 空类 首先我们看什么都没有的时候的例子: ...
分类:
编程语言 时间:
2019-12-01 22:39:20
阅读次数:
108
多态的本质分析 用C写面向对象,用C实现多态 继承的本质就是父子间成员变量的叠加C++中的多态是通过虚函数表实现的虚函数表是由编译器自动生成与维护的虚函数的调用效率低于普通成员函数 ...
分类:
其他好文 时间:
2019-12-01 20:37:54
阅读次数:
110
虚函数的几点说明: 1. 当一个成员函数定义为虚函数时,其派生类中的同名函数也自动为虚函数。无论其是否添加了 virtual 关键字。 为了能良好的阅读代码,请加上。 2. 父类的虚函数,就是为了让子类中的同名成员函数覆盖。这样,父类对象的指针就可以指向子类对象,并调用子类的同名函数。 3. 纯虚函 ...
分类:
编程语言 时间:
2019-12-01 16:37:18
阅读次数:
97
参考:https://www.cnblogs.com/main404/p/11141938.html 1. 纯虚函数 形式: virtual 函数原型 = 0; 定义: 在定义一个表达抽象概念的基类时,有时无法给出某些函数的具体实现方法,就可以将这些函数声明为纯虚函数。 特点:无具体实现方法。 2. ...
分类:
其他好文 时间:
2019-11-27 16:09:29
阅读次数:
64
03_Template Method Motivation 1. 稳定的 操作结构 2. 子步骤, 有很多改变的需求 3. 他们无法同时进行实现 不要调用我, 让我来调用你 通过虚函数的“晚绑定”来实现。继承。 LIbrary开发人员所写的代码, 是早于Applicaiton开发人员的。 左边: 传 ...
分类:
其他好文 时间:
2019-11-24 17:25:04
阅读次数:
68