【发布时间】:2011-09-19 13:09:12
【问题描述】:
我刚刚继承了(咳咳)一个 QNX 实时项目,它使用 void*/downcasting/case 语句机制来处理消息传递。我宁愿切换到具有纯虚函数的抽象基类,但我想知道原始解决方案是否出于速度原因是这样完成的?它看起来很像它最初是用 C 编写的,并在某个时候转移到了 C++,所以我猜这可能是它背后的原因。
对此的任何想法表示赞赏。我不想让代码变得漂亮、安全和整洁,然后在测试期间因为性能原因而失败。
【问题讨论】:
-
“我想知道最初的解决方案是不是出于速度原因而这样做的” -- C++ 出于某种原因经常充满关于“速度”的误解和彻头彻尾的谎言和性能。如果它是从 C 到 C++,那可能就是为什么会这样;但也可能只是他们认为自己对语言的了解比实际了解的多