zjhellofss / KuiperInfer

校招、秋招、春招、实习好项目!带你从零实现一个高性能的深度学习推理库,支持大模型 llama2 、Unet、Yolov5、Resnet等模型的推理。Implement a high-performance deep learning inference library step by step
MIT License
2.59k stars 295 forks source link

求大佬解释一下这里为什么要先定义一个`Operator`空类呢? #26

Closed wangqiang9 closed 1 year ago

wangqiang9 commented 1 year ago

image https://github.com/zjhellofss/KuiperInfer/blob/1b97b9f2a60ef96a877b7b52ad42a0669eb548bb/include/runtime/ir.h#L170 这里为什么先声明了一下Operator类这个空类,然后下面再具体定义呢? 是为了先在Operand类中使用吗?但是在Operand类中使用的时候Operator还是个空类没有被定义过吧? 没想明白这样做的目的是什么? 跪求大佬解答!

zjhellofss commented 1 year ago

这是一个声明,因为operand类中有operator指针类型。如果单使用一个指针,不需要引入头文件,前向声明一下就可以

zjhellofss commented 1 year ago

你加一下交流群吧,readme里有二维码,这样问答起来方便。

wangqiang9 commented 1 year ago

好的,谢谢大佬解答~

wangqiang9 commented 1 year ago

这里是C++中的前向声明知识点,小伙伴们可参考:https://blog.csdn.net/leigelaile1/article/details/80622429