gpt4 book ai didi

c++ - 在哪里画 size_t 和 unsigned int 之间的界限?

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

我目前正在将我多年来一直在开发的代码库中的 unsigned int 的某些用途转换为 size_t。我了解两者之间的区别,例如 unsigned int 可能是 32 位,而指针和 size_t 可能是 64 位。我的问题更多是关于我应该在哪里使用其中一个以及人们使用哪种约定在两者之间进行选择。

很明显,内存分配应该使用 size_t 而不是 unsigned int 作为参数,或者容器类应该使用 size_t 作为大小和 STL 中的索引。这些是阅读 size_tunsigned int 的好处时引用的常见案例。然而,在进行代码库转换时,我偶然发现了很多灰色区域的案例,我不确定使用哪一个。例如,如果 4x4 矩阵行/列索引应为 size_t 以保持一致性,而不管索引在 [0, 3] 范围内,或者屏幕/纹理分辨率是否应使用 size_t 尽管在几千的范围内,或者一般来说,如果合理数量的对象预计在几十的范围内,我仍然应该使用 size_t 以保持一致性。

您使用哪种编码约定在 unsigned intsize_t 之间进行选择?无论合理预期的范围如何,表示大小(以字节或对象为单位)或索引的所有内容都应该始终是 size_t 吗?我可以遵循一些在完善的库中使用的被广泛接受的 size_t 约定吗?

最佳答案

我认为这很简单,虽然我欢迎弹弓和箭。

如果

size_t 描述了具有大小的东西,则应该使用它。 (计数。事物的数量)

关于c++ - 在哪里画 size_t 和 unsigned int 之间的界限?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24226483/

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