たとえば、コマンド パターンを使用してコマンドをキューに追加しています。キュー内のエントリは、コマンド オブジェクトとコマンドを実行する時間を保持する単純な構造体のような CommandItems です。
struct CommandItem
{
time_t theTime;
std::shared_ptr<Command> command;
...
// comparison operator implemented
}
std::priority_queue<CommandItem> commandQueue_;
キュー内のコマンドに対して 2 つの CommandItems が存在するように、同じコマンドを異なる時間に 2 回実行したい場合、2 つの別個のコマンド オブジェクトを作成する必要がありますか? または、同じコマンド オブジェクトを 2 回入れることはできますか? 長所短所?
(オブジェクトをコマンドするために shared_ptr を使用することに注意してください。キューは、さまざまなサブクラスのコマンド オブジェクトを保持する必要があります)