33得票6回答
size_t是表示大小的类型吗?

“size_t”是否代表编译代码的机器的字长?我使用g++解析时,编译器将“size_t”视为“long unsigned int”。是编译器内部选择了“size_t”的大小,还是“size_t”在调用编译器之前已经在“stddef.h”中进行了预处理宏定义为字长?或者我的理解完全偏离了轨道?

9得票7回答
将 size_t 转换为整数 (c++)

我一直在尝试创建一个for循环,它将基于网络数据包的长度进行迭代。在API中存在一个变量(size_t),由event.packet->dataLength表示。我想从0到event.packet->dataLength - 7进行迭代,每次增加10,但我遇到了大量麻烦。 我寻找解决方案,但...

8得票7回答
sizeof(T)可以得到的最大值是多少?

起初,您可能认为是std::numeric_limits<size_t>::max(),但如果有一个如此巨大的对象,它仍然能够提供一个one-past-the-end指针吗?我想不是。这是否意味着sizeof(T)能产生的最大值是std::numeric_limits<siz...

33得票10回答
跨平台的格式化字符串如何处理size_t类型的变量?

在一个跨平台的C/C++项目中(Win32,Linux,OSX),我需要使用*printf函数来打印一些size_t类型的变量。 在某些环境中,size_t是8个字节,在其他环境中则为4个字节。 在glibc中,我可以使用%zd,在Win32中我可以使用%Id。 是否有一种优雅的方式来处理这个问题?

10得票2回答
LLVM中是否有类似于size_t的等效类型?

一些系统库,如malloc和strlen,需要或返回size_t作为参数。 在LLVM IR中与这些函数交互的正确选择是什么? 选择任务是否由编译器完成? LLVM IR是否有size_t类型?

11得票6回答
为什么使用 size_t 更好?

这个标题实际上有点误导,但我想让它保持简短。我已经了解了为什么应该使用size_t,常常看到这样的说法: size_t能够表达任何对象(包括数组)最大的大小。 我不是很理解这是什么意思。在一次性分配多少内存上有某种限制,而 size_t 确保足够大以计算该内存块中的每一个字节吗? ...

10得票3回答
将整数字面量添加或赋值给size_t类型

在C语言中,我看到很多将整数字面值添加或赋值给size_t变量的代码。size_t foo = 1; foo += 1; 这里发生了什么类型转换,是否可能将 size_t "升级" 为 int,然后再转换回 size_t?如果我处于最大值,这种情况会发生截断吗?size_t foo = SIZ...

9得票2回答
如何在64位C++编译中避免size_t和int类型的问题?

今天我第一次制作了一个64位的项目版本。基本上,它编译、链接和运行都没问题,只是会有警告提示新的64位size_t类型和简单的int类型之间的不兼容性。这种情况在我的代码中主要出现在以下类似的情况下: void func(std::vector<Something> &v...

26得票4回答
一个可以包含size_t的有符号类型的typedef是什么?

是否有一个标准的(或MSVC专有的)typedef,用于包含完整范围size_t值的有符号类型?即在64位系统上,它将是一个128位有符号整数。

104得票5回答
什么是查找size_t最大值的便携方法?

我想知道在我的程序运行的系统上,size_t 的最大值是多少。 我的第一反应是使用负数1,就像这样:size_t max_size = (size_t)-1; 但我猜测有更好的方法,或者某个地方定义了一个常量。