Estou me confundindo com size_tC. Sei que ele é retornado pelo sizeofoperador. Mas o que exatamente é isso? É um tipo de dados? Digamos que eu tenho um forloop: for(i = 0; i < some_size; i++) Devo usar int i;ou size_t
Estou me confundindo com size_tC. Sei que ele é retornado pelo sizeofoperador. Mas o que exatamente é isso? É um tipo de dados? Digamos que eu tenho um forloop: for(i = 0; i < some_size; i++) Devo usar int i;ou size_t
Percebo que o código C e C ++ moderno parece usar em size_tvez de int/ unsigned intpraticamente em todos os lugares - desde parâmetros para funções de string C até o STL. Estou curioso para saber o motivo e os benefícios que isso
O padrão C garante que esse size_té um tipo que pode conter qualquer índice de matriz. Isso significa que, logicamente, size_tdeve ser capaz de manter qualquer tipo de ponteiro. Li em alguns sites que achei no Google que isso é legal e / ou sempre deve funcionar: void *v = malloc(10); size_t s =...
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...
Quais são as diferenças entre size_te std::size_tem termos de onde são declaradas, quando devem ser usadas e quaisquer outras características
Eu tenho algum código C ++ que imprime um size_t: size_t a; printf("%lu", a); Eu gostaria que isso fosse compilado sem avisos nas arquiteturas de 32 e 64 bits. Se fosse C99, eu poderia usar printf("%z", a);. Mas AFAICT %znão existe em nenhum dialeto C ++ padrão. Então, em vez disso, eu tenho que...
Quero imprimir uma variável do tipo size_tem C, mas parece que size_ttem um alias para diferentes tipos de variáveis em diferentes arquiteturas. Por exemplo, em uma máquina (64 bits), o código a seguir não emite nenhum aviso: size_t size = 1; printf("the size is %ld", size); mas na minha...