Я думаю, что это очень простой вопрос, но я не мог просто понять это.
Я использовал для использования массивов в С++, но теперь я начинаю изучать векторы. Я делал тестовый код, и я наткнулся на вопрос.
Прежде всего, вот код, который я сделал:
#include <iostream>
#include <vector>
#include <numeric>
using namespace std;
int main(){
vector<double> score(10);
for(vector<double>::size_type i=0;i<20;i++) {
cout<<"Enter marks for student #"<<i+1<<":"<<flush;
cin>>score[i];
}
double total = accumulate(score.begin(), score.end(),0);
cout<<"Total score:"<<total<<endl<<"Average score:"<<total/score.size()<<flush;
return 0;
}
В предложении for в строке # 9 я объявляю i как тип vector<double>::size_type (потому что мне сказали это сделать).
Я протестировал код с типом, упомянутым выше, на int, и он работал отлично.
Почему vector<double>::size_type предпочтительнее по сравнению с int?