gpt4 book ai didi

c++ - C++ 和/或 C 中的 size_t 与 int

转载 作者:IT老高 更新时间:2023-10-28 12:45:33 26 4
gpt4 key购买 nike

为什么在 C++ 容器中,它返回的是 size_type 而不是 int?如果我们正在创建自己的结构,是否也应该鼓励我们使用 size_type

最佳答案

一般来说,size_t每当您测量某物的大小时都应使用。真的很奇怪size_t只需要表示 0 到 SIZE_MAX 之间字节和 SIZE_MAX只需为 65,535...

来自 C++ 和 C 标准的其他有趣的限制是:

  • sizeof() 的返回类型是 size_t它是一个无符号整数
  • operator new()将要分配的字节数作为 size_t参数
  • size_t<cstddef> 中定义
  • SIZE_MAX<limits.h> 中定义在 C99 中但在 C++98 中未提及?!
  • size_t不包含在基本整数类型列表中,所以我一直认为 size_t是基本类型之一的类型别名:char , short int , int , 和 long int .

如果您计算字节数,那么您绝对应该使用 size_t .如果您正在计算元素的数量,那么您可能应该使用 size_t因为这似乎是 C++ 一直在使用的。无论如何,您都不想使用 int - 至少使用 unsigned longunsigned long long如果您使用的是 TR1。或者……甚至更好……typedef无论你最终使用到 size_type或仅包括 <cstddef>并使用 std::size_t .

关于c++ - C++ 和/或 C 中的 size_t 与 int,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/994288/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com