マルチレベル フィードバック キュー スケジューラを実装するコードに取り組んでいます。コードの一部に不明な点があります。
void Scheduler_MFQS :: fill_queue(int clk) {
list<Process>::iterator itr;
for(itr = processes.begin(); itr != processes.end(); itr++) {
if((itr -> has_arrived(clk)) && (!queues[0].contains(*itr))) {
Process tmp (*itr);
queues[0].add_process(tmp);
remove(processes.begin(), processes.end(), *itr);
}
}
}
これが基本的に行うことは、プロセスを何らかの条件下でベースキューに入れることです。でも意味がわからないProcess tmp (*itr);
?ただし、合法的にコンパイルされます。それは、tmp という Process オブジェクトを作成するということですか? しかし、次の反復子(*itr)
は c++ で何を意味するのでしょうか?