آیا خروجی تابع Iterator باشه جواب نامعتبره؟ - هفت خط کد انجمن پرسش و پاسخ برنامه نویسی

آیا خروجی تابع Iterator باشه جواب نامعتبره؟

0 امتیاز

در مثال زیر من یک vector را پیمایش می کنم و مینیمم را پیدا کرده و موقعیت آن را خارج می کنم آیا بعد از خروج مقدار این Iterator نامعتبره؟

list<LNode>::iterator minI(list<LNode>::iterator start,list<LNode>::iterator end)
{
     list<LNode>::iterator min_index=start;

     for(auto it=start;it!=end;it++)
     {
        if(it->len<min_index->len)
            min_index=it;
     }
     return min_index;
}

 

سوال شده آبان 13, 1393  بوسیله ی سعید (امتیاز 92)   5 16 22

1 پاسخ

0 امتیاز
نه چرا باید غیر معتبر یاشه.بسیاری از توابع stl خودشون iterator بر می گردونند.زمانی iterator نامعتبر میشه که شما تعداد عناصر خود را در ناحیه ای که iterator تعداد تاثیر قرار می گیره را حذف یا اضافه کنید.
پاسخ داده شده آبان 14, 1393 بوسیله ی مصطفی ساتکی (امتیاز 21,998)   24 34 75
...