size_t 到 unsigned int (来自 API 函数)
我正在使用 Oracle API 访问数据库,该 API 有一个函数 readBuffer(char * buffer, unsigned int size) ,我无法对其进行任何更改。 我有一个使用此 A…
C:将 int 转换为 size_t
在 32 位和 64 位 Linux 平台上,在 C99 中将 int 转换/转换为 size_t 的正确方法是什么? 例子: int hash(void * key) { //... } int main (int arg…
“效率”传递 size_t 作为参数
由于 size_t 可以是 32 位或 64 位,具体取决于当前系统,因此最好始终将 size_t 作为引用或 const 引用传递给函数,以便它始终为 4 个字节? (如果…
将 size_t 转换为整数 (c++)
我一直在尝试创建一个 for 循环,该循环将根据网络数据包的长度进行迭代。在 API 中,存在一个由 event.packet->dataLength 组成的变量 (size_t)。…
强制VS2008发出类似于“警告:有符号和无符号整数表达式之间的比较”的GCC警告
与 从 'int' 转换为 'size_t' 可能会更改结果的符号 - GCC 、 C 中描述的内容相同,我想确保在 32 位和 64 位编译下,我在 GCC 4.2.1 下收到的警告也…
使用 size_t 声明最大数组
我想声明一个非常大的数组。我发现数组的最大大小是size_t,它被定义为UINT_MAX, 所以当我编译这个时,我写了这样的代码 int arr[UINT_MAX] ,它说数…
如何避免 64 位 C++ 中 size_t 和 int 类型的问题构建?
今天我第一次对我的项目进行 64 位构建。基本上它编译、链接和运行都正常,除了警告抱怨新的 64 位 size_t 类型和简单 int 类型之间不兼容。这主要发…
使 size_t 和 wchar_t 可移植吗?
据我了解, size_t 和 wchar_t 的表示完全是特定于平台/编译器的。例如,我读到 Linux 上的 wchar_t 现在通常是 32 位,但在 Windows 上它是 16 位。…
我可以在C中直接比较int和size_t吗?
我可以像这样比较 int 和 size_t 变量吗: int i = 1 size_t y = 2 if (i == y) { // Do something } 或者我是否必须键入强制转换其中一个?…
查找 size_t 最大值的可移植方法是什么?
我想知道我的程序正在运行的系统上 size_t 的最大值。 我的第一直觉是使用负数 1,如下所示: size_t max_size = (size_t)-1 但我猜有更好的方法,或…