size_type和int之间的区别

abk*_*kds 5 c++ stl vector

#include <iostream>
#include <vector>
using namespace std;

int main()
{
    vector<double> student_marks(20);

    for (vector<double>::size_type i = 0; i < 20; i++)
    {
        cout << "Enter marks for student #" << i+1 
            << ": " << flush;
        cin >> student_marks[i];
    }
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

我在某个地方读到,最好用size_type它代替int.它是否真的对实施产生了巨大影响,使用的积极因素是size_type什么?

jua*_*nza 7

vector<double>::size_type保证涵盖a的大小可能的全部值vector<double>.一个int不是.

注意vector<double>::size_type通常是相同的std::size_t,所以通常可以使用后者.但是,自定义分配器可以导致具有size_type不同的向量std::size_t.