fast
C++のジェネリック データ型への最善のアプローチは何ですか。プログラム全体でイベント情報を渡す必要があるイベント システムがあります。
sendEvent(123, "a String", aFloat, aVec3, etc); // sendEvent(EventID, EventArg, EventArg ...);
eventData.at(0).asFloat();
eventData.at(1).asInt(); // etc.
今まで必要だったのは float/int/ptr だけで、ユニオン内で処理していました。しかし、今はほとんどの構造がいくつかあり、これはもう少し複雑になってきているので、再検討しています。
掘り下げてみましたboost::any
が、これは遅すぎます。大量のデータが飛び交う可能性がありますが、この考えは正しい方向に思えます。
私は void* データ ホールドを使用してかなり素朴なショットを撮りましたが、それはすぐに非常に醜くなりました。