ساخت متغیر از نوع iterator یک container - هفت خط کد انجمن پرسش و پاسخ برنامه نویسی

ساخت متغیر از نوع iterator یک container

+1 امتیاز

سلام.به مثال زیر دقت کنید.

template <typename Iterator>
void test(Iterator  srcBeg){

}
void main(){
   vector<int> arr;
   test(arr.begin());
return 0;
}

چطوری میشه یک متغیر از نوع template که در این مثال int در داخل تابع test تعریف کرد در واقع چطور یک متغیر از نوع کانتینر مربوط به Iterator تعربف کنم؟

سوال شده آبان 5, 1393  بوسیله ی shab (امتیاز 194)   8 22 30
ویرایش شده دی 21, 1393 بوسیله ی BlueBlade

1 پاسخ

+2 امتیاز
 
بهترین پاسخ

برای به پی بردن به نوع iterator از iterator_traits استفاده کنید و متد value_type را فراخوانی نمائید. به صورت زیر:

using T = typename std::iterator_traits<Iterator>::value_type
T my_variable;

 

پاسخ داده شده آبان 7, 1393 بوسیله ی مصطفی ساتکی (امتیاز 21,998)   24 34 75
انتخاب شد آبان 17, 1393 بوسیله ی BlueBlade
...