问题标签 [size-t]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
28454 浏览

c++ - 声明冲突

我在我的代码中定义了一个 typedef

它与 stddef 冲突

我不确定如何解决这个问题,但仍想将 size_t 保留在我的代码中。

0 投票
4 回答
16690 浏览

c - C size_t 和 ssize_t 负值

size_t被声明为unsigned int不能表示负值。
那么有ssize_t哪些是签名类型的size_t权利呢?
这是我的问题:

为什么我得到:

结果?
我知道size_t这可能是可能的,因为它是无符号类型,但为什么我也得到了错误的结果ssize_t??

0 投票
5 回答
1454 浏览

c - size_t 用作公式中的值

这是读取行的函数的简短片段。这怎么可能与它bufsize相比((size_t)-1)/2

我想象将变量与例如进行比较。int- 那是不可能的;我认为相反,INT_MAX 是正确的。那么该代码如何才能真正工作并且不出错呢?

0 投票
7 回答
2843 浏览

c++ - size_type 可以大于 std::size_t 吗?

带有 的标准容器std::allocator定义size_typestd::size_t. 但是,是否可以有一个分配器来分配大小不能用 a 表示的对象size_t?换句话说,asize_type可以大于size_t吗?

0 投票
3 回答
3586 浏览

c - 理解 size_t 类型和 sizeof 运算符的问题

GCC 编译器输出:

不知道为什么会出现此错误,显示 size_t 类型的正确方法是printf什么?

0 投票
4 回答
3182 浏览

c++ - 循环计数的有符号值与无符号值

因此,我在程序中有一个普通的 for 循环,通过对象向量(我定义的类型的对象,如果相关的话):

...当我编译时,我收到这个警告:

这是有道理的,因为我认为size()对于向量返回 a size_t。但是这有什么关系呢?一定数量的元素(甚至内存块)不是你可以计算的整数吗?更重要的是,由于我的程序有多个这样的循环并且碰巧有很多段错误,这可能是它的一部分吗?

0 投票
4 回答
168 浏览

c++ - 为什么这个循环是无限的?

我有一些用于绘制多边形边的代码,例如,在顶点为 0、1 和 2 的三角形中,边为 (0, 1)、(1, 2) 和 (2, 0)。我以为我可以这样完成:

...但这会使 k 值爆炸成无限循环。我已经看过了,并怀疑问题可能出在我的索引中,但是如果一切都取决于 j,我会认为可能是 vertices.size() 搞砸了。我在这段代码中遗漏了什么,还是应该更仔细地查看实际的顶点向量?

0 投票
2 回答
686 浏览

c++ - 添加具有 size_t 类型值的指针

我为 CheckPointer 类定义了一个下标运算符。由于@param pos 是 size_t 类型,我无法检查用户是否传递了正值或负值。但是,我尝试编写代码来进行边界检查,并且它可以工作:

我不知道它为什么会起作用......任何人都可以帮助我吗?

谢谢你考虑我的问题!


了解更多信息:

环境:eclipse CDT,Ubuntu 10.04

测试代码:

测试代码输出:

0 投票
4 回答
872 浏览

c - 如何从结构中释放 size_t

我正在尝试释放具有 size_t 变量和字符的结构的元素。如何释放 size_t 的,因为我不断收到类似的警告

现在我明白我需要做演员,但我不知道怎么做!这是代码:

我收到 3 个警告,均与 na,ne,nc 有关。我在跳过什么?谢谢!

LE:谢谢大家,我的项目现在可以工作了!节日快乐!

0 投票
4 回答
5322 浏览

c - 减去 2 size_t 的类型是什么?

应该使用 C 中的哪种类型来表示两个对象大小之间的差异?

如未size_t签名,类似

显然是不正确的,在我看来,没有真正的签名等价物。

ptrdiff_t听起来有点诱人,但是

  1. 就像它的名字所说的那样,它是用来减去指针的。
  2. 我已经读过,例如像 DOS 这样的分段平台具有 64k 的最大对象大小,可以用 16 位表示。然而,远指针由一个 16 位段值和一个 16 位偏移值组成。在这样的平台上不是也可以ptrdiff_t使用 32 位吗?如果是这样,两个对象之间的大小差异只需要 16 位,但使用 ptrdiff_t 会给你一个 32 位宽的变量,使其不是最佳的。

那么,使用这种值的合适的便携式类型是什么?

Edit: 我知道 ssize_t,但它是

  1. 不是标准 C 的一部分。
  2. 实际上不是用于这种用途,而是用于返回大小或(负)错误值。