Запитання з тегом «size-t»

13
Що таке розмір_t в С?
Я плутаюсь size_tв C. Я знаю, що він повертається sizeofоператором. Але що це саме? Це тип даних? Скажімо, у мене є forцикл: for(i = 0; i < some_size; i++) Чи варто використовувати int i;або size_t i;?
626 c  int  size-t 

8
без підпису int vs. size_t
Я зауважую, що сучасний код C і C ++, здається, використовується size_tзамість int/ unsigned intв значній мірі скрізь - від параметрів для C рядкових функцій до STL. Мені цікаво, що є причиною цього та користю, яку він приносить.
492 c++  c  size-t 

7
size_t проти uintptr_t
Стандарт C гарантує, що size_tце тип, який може містити будь-який індекс масиву. Це означає, що, логічно, size_tмає бути можливість утримувати будь-який тип вказівника. Я читав на деяких сайтах, які з’ясував у Google, що це законно та / або завжди має працювати: void *v = malloc(10); size_t s = (size_t) v; …
246 c  pointers  size-t 

13
Коли використовувати std :: size_t?
Мені просто цікаво, чи потрібно використовувати std::size_tзамість циклів і інших матеріалів int? Наприклад: #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? } } Взагалі, яка найкраща практика щодо використання std::size_t?

3
Різниця між size_t та std :: size_t
У чому полягають відмінності між ними size_tта std::size_tщодо того, де вони декларуються, коли вони повинні використовуватися та будь-які інші ознаки, що розмежовуються?
139 c++  size-t 

9
Чистий код для друкуf size_t в C ++ (або: найближчий еквівалент% z в C ++)
У мене є код C ++, який друкує size_t: size_t a; printf("%lu", a); Я хотів би, щоб це компілювалось без попереджень як для 32-, так і для 64-розрядної архітектури. Якби це був C99, я міг би використати printf("%z", a);. Але AFAICT %zне існує в жодному стандартному діалекті С ++. Тому …
96 c++  printf  size-t 

3
Незалежні від платформи size_t Специфікатори формату в c?
Я хочу роздрукувати змінну типу size_tна C, але, схоже, size_tце псевдонім для різних типів змінних на різних архітектурах. Наприклад, на одній машині (64-розрядної) такий код не видає жодних попереджень: size_t size = 1; printf("the size is %ld", size); але на моїй іншій машині (32-розрядної) наведений вище код видає таке попереджувальне …

5
Що таке портативний метод, щоб знайти максимальне значення size_t?
Я хотів би знати максимальне значення size_t в системі, в якій працює моя програма. Моїм першим інстинктом було використовувати мінус 1, ось так: size_t max_size = (size_t)-1; Але я здогадуюсь, що є кращий спосіб, або десь визначена константа.
74 c  size-t 
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.