タスクシステム総合スレ part6
■ このスレッドは過去ログ倉庫に格納されています
0042並列さん ◆dPfetnROQg
2009/04/05(日) 18:25:43ID:KXq+7Jybtemplate typename<T> void update(T& actor);
で、型ごとに特殊化されたupdateを用意する。
言うまでもなく、updateはcollectionに対しても定義されてて
template typename<T> void update(const collection<T*>& actors)
{
foreach(var t in actors)
update(*t);
}
collectionはstd::vector/listを汎化したもの。foreachはマクロとでも思ってもらえれば良い。
上のようになっているので、最適化によってinliningされる。
もちろん、関数呼び出しのオーバーヘッドは存在しない。
■ このスレッドは過去ログ倉庫に格納されています