openFrameworksを学び始めまして、イテレーターというものが出て来たのですが、
for文で回す時になぜかインクリメントしていないのですが、これがどういうことなのかわかりませんでした。
インクリメントすることで全ての値に対して判定していると思っていたのですが、
インクリメントがなくても大丈夫なのでしょうか?
また、インクリメントするとエラーが出てしまいます。
下記がサンプルになります。インクリメントがある場合とない場合の違いを教えて頂きたいです。
よろしくお願いいたします。
void ofApp::update(){ // d_circlesに格納された全ての円をチェック?? for(vector <CustomCircle *>::iterator it=d_circles.begin(); it!=d_circles.end();){ // インクリメントなし (*it)->update(); // CustomCircleの状態を更新 if((*it)->dead){ // 寿命が来ていればCustomCircleを消去 (*it)->destroy(); // box2dの世界から消去 delete *it; // オブジェクト解放 it = d_circles.erase(it); // 動的配列からオブジェクト削除 }else{ ++ it; } } box2d.update(); // box2d更新 }
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2016/11/12 13:08