size_t 和 unsigned int 之间的区别?

2023-12-01

我很困惑size_t。我在互联网上搜索过,到处都提到了这一点size_t是无符号类型,因此它只能表示非负值。

我的第一个问题是:如果它只用来表示非负值,为什么我们不使用unsigned int代替size_t?

我的第二个问题是:是size_t and unsigned int可以互换还是不可互换?如果不是,那为什么?

谁能给我一个很好的例子size_t并简要介绍其工作原理?


如果它用来表示非负值那么为什么我们不使用unsigned int代替size_t

Because unsigned int不是唯一的无符号整数类型。size_t可以是以下任何一个unsigned char, unsigned short, unsigned int, unsigned long or unsigned long long,取决于实施。

第二个问题是size_t and unsigned int是否可以互换,如果不能互换,为什么?

由于上述原因,它们不可互换^^.

谁能给我一个关于 size_t 及其简短工作的好例子吗?

我不太明白你所说的“它的短暂工作”是什么意思。它的工作方式与任何其他无符号类型类似(特别是像它的类型定义的类型)。鼓励您使用size_t当你描述一个物体的大小时。特别是,sizeof运算符和各种标准库函数,例如strlen(), 返回size_t.

Bonus: 这是一篇好文章 about size_t(以及密切相关的ptrdiff_t类型)。它很好地解释了为什么你应该使用它。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

size_t 和 unsigned int 之间的区别? 的相关文章

  • 如何使用 VS2022 中的新控制台应用程序模板访问命令行参数

    我想知道如何访问命令行参数 因为这是在Program cs通过 Visual Studio 2022 中控制台应用程序的新模板创建文件 See https aka ms new console template for more infor
  • 从 Dropbox C# 下载文件[重复]

    这个问题在这里已经有答案了 我正在尝试下载 Dropbox 中的 pdf 文件 我需要将其保存到本地计算机中 可以是任何文件夹C Users User Desktop例如 这是我一直在使用的代码 public void DownloadPd
  • 在列表中查找匹配项的最简洁方法

    在列表中查找内容的最佳方式是什么 我知道 LINQ 有一些不错的技巧 但我们也可以获取有关 C 2 0 的建议 让我们对这个常见的代码模式进行最佳重构 目前我使用这样的代码 mObjList is a List
  • ASP.NET 会员电子邮件验证

    尝试基于 C 创建电子邮件验证本文 https web archive org web 20211020153319 https www 4guysfromrolla com articles 062508 1 aspx 我创建了一个 ja
  • 有没有办法让我的程序用更少的代码运行?

    我为学校作业编写了以下代码 它编译并打印所有正确的消息 但出于我自己的好奇心 我想知道我的代码是否可以缩短并且仍然有效 我尝试了 signal 而不是 sigaction 但我听说 sigaction 比 signal 更受青睐 此外 此任
  • 使用 pthread_cond_signal 优雅地终止线程被证明是有问题的

    我需要发射一堆线程 并希望优雅地将它们拉下来 我正在尝试使用pthread cond signal pthread cond wait实现这一目标 但遇到了问题 这是我的代码 首先是thread main static void thrma
  • 使用 CMake 对 SDL 的未定义引用

    我正在使用 SDL v1 2 15 7 和 CMake 3 2 1 开发一个项目 在 h 文件中我添加了 include
  • 是否可以获取指向装箱非托管值类型的指针?

    是否可以获取指向装箱非托管值类型的指针 而无需编写对每个支持的类型进行强制转换的大型 switch 语句 就像是 object val Contains a boxed unmanaged value such as int long by
  • Docker 不遵循构建目录中的符号链接

    我正在对一个应用程序进行 Docker 化 其中涉及通过 Clang 将二进制文件与其他 C 文件链接 我们维护二进制文件的符号链接版本 因为它们在整个代码库中使用 我的 Docker 构建目录包含整个代码库 包括源文件以及这些源文件的符号
  • 使用 C# 和 .NET Core 在 AWS Cognito 用户池中进行用户管理

    如何使用 C 和 NET Core 3 x 管理 AWS Cognito 用户池中的用户 在文档中找不到有关它的任何内容 Attilio Gelosa 的原创文章 我写这篇文章是希望对其他人有帮助 我必须阅读一页又一页的文档 并从 AWS
  • DataContractJsonSerializer 包含元素类型子类型的通用列表

    我要使用DataContractJsonSerializer用于 JSON 序列化 反序列化 我在 JSON 数组中有两种对象类型 并希望将它们都反序列化为相应的对象类型 具有以下类定义 DataContract public class
  • 为什么我从 c# 到 js 得到不同的 MD5 哈希值?

    我有一个用于加密密码的 C 函数 System Security Cryptography MD5CryptoServiceProvider md5Provider new System Security Cryptography MD5C
  • 函数中的重复参数检查

    我经常有调用层次结构 因为所有方法都需要相同的参数 如果我不想将它们放在实例级别 类的成员 那么我总是问我在每个方法中检查它们的有效性是否有意义 例如 public void MethodA object o if null o throw
  • 如何在 C 预处理器中可靠地检测 Mac OS X、iOS、Linux、Windows? [复制]

    这个问题在这里已经有答案了 如果有一些跨平台 C C 代码需要在 Mac OS X iOS Linux Windows 上编译 我如何在预处理器过程中可靠地检测到它们 大多数编译器都使用预定义的宏 您可以找到列表here http sour
  • C# 或 Windows 相当于 OS X 的 Core Data?

    我迟到了 现在才开始在 OS X Cocoa 中使用 Core Data 它令人难以置信 并且确实改变了我看待事物的方式 C 或现代 Windows 框架中是否有等效的技术 即拥有可免费保存 数据管理 删除 搜索的托管数据类型 还想知道Li
  • 如何明智地解释这个编译器警告?

    当我执行这段代码时question https stackoverflow com a 51056490 2411320 我收到这个警告 warning format d expects argument of type int but a
  • C 中函数“fgets”的参数太少

    每当我编译这个错误时 我都会收到该错误 但我不知道为什么 我直接从书上抄袭这个 有人可以帮忙吗 include
  • 不兼容的指针到字符转换

    我正在编写一个程序 将卡片值写入 52 个点字符的多维数组中 该程序是一个测试数组 稍后我将其作为函数写入主程序中 在程序中 我通过以下方式初始化 for 循环计数0通过51 我用一个switch语句调制13将卡牌值分配给数组点 但是 我收
  • C# 中的快速字符串解析

    在 C 中解析字符串最快的方法是什么 目前我只是使用字符串索引 string index 并且代码运行合理 但我忍不住认为索引访问器所做的连续范围检查必须添加一些东西 所以 我想知道我应该考虑哪些技术来增强它 这些是我最初的想法 问题 使用
  • 应用非限定名称查找而不是依赖于参数的名称查找

    考虑标准 sec 3 4 1 3 中的一个示例 typedef int f namespace N struct A friend void f A operator int void g A a int i f a f is the ty

随机推荐

  • PHP,删除 URL 变量的部分[重复]

    这个问题在这里已经有答案了 我有以下 php 变量 currentUrl 这个 php 变量返回我当前的 url 页面 例如 它返回 http example com test category page html ore norn fro
  • C++ 插件:跨边界传递对象(模拟它)

    由于我们不应该跨插件边界传递除普通旧数据结构 1 之外的任何其他内容 因此我想出了以下想法来传递对象 公开插件 C 接口中的所有公共方法 并在应用程序端将插件包装在一个对象中 参见以下示例 我的问题是 有一个更好的方法吗 编辑 请参阅下面我
  • Laravel 控制器子文件夹路由

    我是 Laravel 的新手 为了尝试让我的应用程序保持井井有条 我想将我的控制器放入控制器文件夹的子文件夹中 controllers folder1 folder2 我尝试路由到控制器 但 laravel 找不到它 Route get p
  • 如何从 phantomjs shell 中运行 casper?

    任何人都知道是否以及如何可以从 phantomjs shell 又称为交互模式REPL 我还尝试将直接路径传递给 casper js 模块 但这也不起作用 进展 更新 Tried phantomjs injectJs C casperjs
  • AngularJS $http.post 错误意外的标记 F

    我正在尝试运行我的 http post脚本 我收到错误 我尝试四处搜索 但找不到问题的任何答案 这是我运行网页时收到的错误 XHR finished loading POST http mypage services json DownTi
  • 有没有更好或替代的方法来跳过/避免在 Java 中使用 Thread.sleep(1000) ?

    我正在测试一个重负载的视频 它加载视频并在 Thread sleep 1000 之后加载 它播放第二个视频 但是一旦我循环播放一个又一个 它就会冻结 当我删除所有这些 Thread sleep 1000 时它工作完美 没有冻结 但我需要延迟
  • Pocket PC:将控件绘制到位图

    我尝试使用 C 将控件的实例 例如面板或按钮 绘制到 Pocket PC 应用程序中的位图上 NET 控件具有漂亮的 DrawToBitmap 函数 但 NET Compact Framework 中不存在该函数 我将如何在 Pocket
  • 如何在Python中找到函数对象所需的参数?

    我有一个功能 f def f required arg optional arg None pass 我怎样才能返回一个列表required的参数名称f Using isinstance的结果inspect signature似乎不起作用
  • 是否可以在 MVC 3 中打开/关闭验证数据注释?

    我有两个单独的视图访问同一模型 当我将验证器数据注释放在模型上时 它会按照广告中的方式工作 并且如果留空或不在范围内 则会阻止提交数据 对于两个视图 但是 我有一个视图应该能够允许为属性保存空值或空值 而另一个视图需要要求输入或选择信息才能
  • jQuery 推栈

    我需要一些帮助才能理解pushStack 这里我举了一个例子 使用它和不使用它的结果是一样的http jsfiddle net Bz5n9 2 所以我想我真的不明白它是用来做什么的 Thanks 您当前正在添加到集合中 将一个新集合推送到堆
  • 在 JavaScript 中更改文本框文本

    我允许用户使用两个文本框之一来搜索数据库 一个是 ID 字段 一个是自由文本字段 顺便说一句 我正在使用 ASP NET 和 C 无论如何 我需要做的就是拥有它 这样当用户单击其中一个文本框时 另一个文本框文本就会被删除 因此另一个文本框是
  • CORE DATA objectId 不断变化

    我将一些数据导出到 XML 文件并放入远程 FTP 服务器中 我必须用唯一的属性来标识每个对象 这并不重要 但必须始终持久 gt 它永远不会改变 我不想创建唯一的属性 序列 序列等 我正在使用 objectID 但每次使用它时都会获得一个新
  • HttpResponseCache 在 Android Lollipop 中不起作用

    我一直在我的应用程序中成功使用 HttpResponseCache 但是当我的手机更新到 Lollipop 时 我意识到 HttpResponseCache 现在永远不会被 命中 总是执行网络请求 我已经确认 Lollipop 之前的 An
  • 如何在R光栅中获取网格周围的等高线?

    R中有一个栅格 如何绘制等高线around网格 不连接中心或其他任何东西 真正遵循网格的边界 具有某些值 或由某些掩码标识 以下示例显示如何获取值 0 6 的区域周围的等高线 如何执行相同操作 但线条遵循网格边界 该函数应该返回一个对象以添
  • 使用 Money gem 的表单选择设置货币

    我已经在这方面工作了好几个小时 但我无法弄清楚这一点 我愿意让用户根据他在表单中填写的价格选择相应的货币 我正在使用 Money Gem https github com RubyMoney money 所有值均已正确设置 但货币仅设置为其
  • 使用 JavaScript 重新加载页面的首选方法? [关闭]

    Closed 这个问题是基于意见的 目前不接受答案 您更喜欢哪种方式重新加载当前页面 使用按钮 1
  • 在 FlatList 上 React Native“keyboardDismissMode”

    是否有可能防止键盘在滚动时消失FlatList 使用 ScrollView 时 将属性 keyboardDismissMode 设置为 none 是解决此问题的方法 但这对我在 FlatList 中不起作用 我在一个自制组件 即 Stack
  • 如何删除由 start/end Document 方法添加的 StaxEventItemWriter 标记?

    如何删除由开始 结束文档方法添加的 StaxEventItemWriter 标记 当我生成 XML 文件时 它是默认添加的 所以请任何人告诉我如何删除默认根标签 Ex
  • dplyr 创建因子水平的合计百分比

    如何使用 dplyr 为每个州创建因子变量水平的比例 例如 我想添加一个变量来指示数据框中每个州内女性的百分比 gen data state lt rep c rep Idaho 10 rep Maine 10 2 student id l
  • size_t 和 unsigned int 之间的区别?

    我很困惑size t 我在互联网上搜索过 到处都提到了这一点size t是无符号类型 因此它只能表示非负值 我的第一个问题是 如果它只用来表示非负值 为什么我们不使用unsigned int代替size t 我的第二个问题是 是size t