Estou com uma dúvida particular sobre o size_t. Qual o motivo de ter utilizado esse tipo em vez de outro como, por exemplo int, unsigned int, etc.?
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Estou com uma dúvida particular sobre o size_t. Qual o motivo de ter utilizado esse tipo em vez de outro como, por exemplo int, unsigned int, etc.?
Ótima pergunta, Victor. size_t é basicamente um inteiro cujo tamanho depende da arquitetura do processador. Em 32bits o size_t vai ter um tamanho e em 64bits será outro.
Esse tamanho, de forma bem resumida, precisa ser grande o suficiente para armazenar um endereço em memória, entende? Por isso ele é maior em arquiteturas 64bits do que em 32bits, por exemplo, já que em SOs 64bits você consegue acessar mais endereços de memória.
Na prática, o std::vector poderia muito bem utilizar um unsigned int ou algum similar (long, short, etc), mas com size_t, nesse caso específico, o código acaba ficando mais expressivo e faz mais sentido. A maioria dos compiladores simplesmente substituem o size_t por algo que faça sentido naquela arquitetura e unsigned int é a substituição mais comum (e a única que eu conheço rsrsrs).
Espero que tenha ficado claro, mas caso ainda tenha restado dúvida, só dizer. :-D
Ficou claro, Vinicius. Muito obrigado