Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

[Dúvida] Uso do size_t

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.?

2 respostas
solução!

Ó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