如何避免 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; 但我猜有更好的方法,或…
为什么从 size_t 转换为 unsigned int 会给我一个警告?
我有代码: unsigned int length = strlen(somestring); 我正在使用 4 的警告级别进行编译,它告诉我“从 size_t 转换为 unsigned int,可能会丢失数…
如果我使用 sizeof 和 size_t 我是否应该始终包含 stddef.h
如果我在代码中使用 sizeof 运算符并使用 size_t,我是否必须包含 stddef.h?我没有包含 stddef.h,并且我的代码在使用 MVS2008 和 Borland C++ Build…
C 中的 size_t 是什么?
我对 C 中的 size_t 感到困惑。我知道它是由 sizeof 运算符返回的。但它到底是什么?它是一种数据类型吗? 假设我有一个 for 循环: for(i = 0; i < s…
size_t仅在C++中吗标准还是C标准?
size_t 仅在 C++ 标准中还是 C 标准中? 我在“/usr/include”树中找不到定义 size_t 的 C 标头。 如果它不在 C 标准中,那么 GCC 是否只是做了一些魔…
Pimpl 习语:如果实现未知,则使用什么 size_type?
我有一个包含元素数组的类,我想给它一个 GetSize 成员函数。但是我应该给这个函数什么返回类型呢? 我使用的是 pimpl 习惯用法,因此在头文件中不知…
c 中与平台无关的 size_t 格式说明符?
我想在 C 中打印出 size_t 类型的变量,但似乎 size_t 在不同的体系结构上别名为不同的变量类型。例如,在一台机器(64 位)上,以下代码不会引发任何…
何时使用 std::size_t?
我只是想知道我应该使用 std::size_t 进行循环和其他内容而不是 int 吗? 例如: #include int main() { for (std::size_t i = 0; i < 10; ++i) { // …
size_t 是否可移植?
GCC 4.4.1、C99 我使用的是 size_t,并且 size_t 是一个 unsigned int。但是,这取决于您运行的是 32 位还是 64 位。 我将使用 size_t 来存储缓冲区的…
size_t 与 uintptr_t
C 标准保证 size_t 是可以保存任何数组索引的类型。这意味着,从逻辑上讲,size_t 应该能够保存任何指针类型。我在 Google 上发现的一些网站上读到,…
size_t 的否定(即 `-sizeof(struct foo)`))会发生什么?
我正在处理一些工作中的代码,其中包含以下形式的表达式 -(sizeof(struct foo)) ,即 size_t 的否定,并且我不清楚 C 和 C++ 标准在看到这种情况时对…