![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++
killer4747
这个作者很懒,什么都没留下…
展开
-
使用Imp模式避免c++中的改类成员数据导致大规模重新编译
c++的header file+source file的分割有一个不干脆的地方:header file既是一个declaration,也是类数据结构的定义。如果是简单的c with class那没问题,因为struct的结构也是一种declaration。而到了c++,我们还需要封装,所以如果把内部struct暴露给别人就有问题了,抛开设计上的问题还有便以上的不方便:每次改了类的内部成员(增,删,...原创 2018-07-25 08:39:56 · 1361 阅读 · 1 评论 -
如何让模板函数 对不同类型的参数做不同的处理
比如有个Convert函数,我希望对于能直接用static_cast的就不用dynamic_casttemplate<typename F, typename T>T* ConvertA(F* from){//如果是std::is_convertable_v<F, T>是true就用static_cast,否则dynamic_cast}方案1. S...原创 2018-07-28 11:53:58 · 5232 阅读 · 0 评论 -
我的面试题目
# C++- 在游戏引擎架构中,组织代码时把功能分成若干独立模块,但是启动时需要能enumerate出程序中有那些模块、根据需求进行初始化。在C++中如何在程序初始化时把各个模块的信息注册到某个列表中去?理想的效果时在每个模块自己的cpp文件中写一些代码使得程序初始化时这些信息可以被注册。如何优雅地实现这个功能?...原创 2019-03-10 09:29:59 · 352 阅读 · 0 评论