Я думаю, что это очень простой вопрос, но я не мог просто понять это.
Я использовал для использования массивов в С++, но теперь я начинаю изучать векторы. Я делал тестовый код, и я наткнулся на вопрос.
Прежде всего, вот код, который я сделал:
#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
?