Quando usar std :: size_t?

Eu só estou querendo saber se devo usar std::size_tpara loops e outras coisas em vez de int? Por exemplo: #include <cstdint> int main() { for (std::size_t i = 0; i < 10; ++i) { // std::size_t OK here? Or should I use, say, unsigned int instead? } } Em geral, qual é a melhor prática...