问题标签 [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 投票
1 回答
1529 浏览

c++ - size_t 的大小是否总是等于 void 的大小 *

的大小size_t总是等于 的大小void *吗?

或者在某些平台/编译器上可能有一些例外?

0 投票
1 回答
706 浏览

c - C - Why the size_t is unrecognized in eclipse?

In eclipse it don't recognize the type size_t, it write error on it and a message uknown type name 'size_t', it is written right

0 投票
3 回答
17930 浏览

c - 将 size_t 转换为字符串

我正在尝试编写一个客户端可以用来浏览服务器目录的 TCP 服务器。除此之外,如果这是一个常规文件,我想发送目录的大小。文件的大小保存在“stat”结构下的 size_t 变量中。我在这里这样做:

所以现在 buffer.st_size 包含文件的大小。现在我想将它 write() 到监听套接字,但显然我必须以某种方式将它转换为字符串。我知道这可以通过按位右移 (>>) 运算符以某种方式完成,但这对我来说似乎太痛苦了。你能帮帮我吗(即使除了按位运算符之外别无他法)?

顺便说一句,这不是学校或smth...

PS:我在 Linux 上运行它。

0 投票
3 回答
1581 浏览

c - 下溢然后溢出无符号变量是否不好?

克拉阿。

我是一所编程学校的学生,要求我们用少于 25 行代码编写 C 函数。所以,基本上,每一行都很重要。有时,我需要像这样缩短作业:

这段代码的重要部分是size_t名为 的计数器i。为了节省几行代码,我想在循环的条件下预先增加它。但是,只要 C 标准定义size_t为无符号类型而言,我在这里所做的基本上是使i变量下溢(从 0 到一个非常大的值),然后将它上溢一次(从那个大值到 0)。

我的问题如下:无论必须缩短代码的不良做法如何,将( ) 变量设置为 -1 然后在每次迭代时预递增它是否安全unsignedsize_t以浏览数组是否安全?

谢谢!

0 投票
1 回答
280 浏览

c - malloc 和 size_t 似乎不匹配

当我使用

我真的很怀疑,因为malloc应该fsize * sizeof(size_t)为我分配大空间,但是当我尝试访问时buf + 8*fsize,我已经超出了界限。

但是,buf+fsize它在正确的位置,文件末尾,我刚刚计算了地址,它们都很多!像 malloc 只是fsize * sizeof(char)为我返回了很大的空间。

所以,我在哪里错了,任何帮助都是值得的。

0 投票
1 回答
93 浏览

c++ - 带有 size_t 的奇怪循环

我不使用size_t. 为什么?如果我使用int我进入循环,输出是:11, 11

0 投票
2 回答
675 浏览

c - size_t 0x1<<31 远大于 size_t 0x1<<30

size_t我对我注意到的一些行为感到困惑:

结果是:

现在,我知道这size_t只能保证至少是一个 16 位无符号整数,但我不明白为什么0x1<<31最终会得到它所做的值 - 尝试分配 18 艾字节在我的程序上做了一个数字。

我在 x86_64 上使用 LLVM。

0 投票
1 回答
145 浏览

c - 关于将 -1 转换为 size_t 导致死循环

glassdoor的面试题如下。以我的知识,很难从中推断出任何东西。什么可能是一个合适的问题?

计算 size_t 数的宏。放入一个循环,它将 -1 转换为 size_t 数字,使循环无法启动。

正如 Michael Aaron Safyan 所建议的那样,以下情况可能是这样的

反向操作:

for (size_t i = 0; i > ((size_t) -1); i--) {}

解释见答案

0 投票
5 回答
153323 浏览

c++ - 如何将 size_t 转换为 double 或 int C++

我的问题是

我有一个 size_t 数据,但现在我想将其转换为 double 或 int。

如果我做类似的事情

编译器将报告警告。因为它可能会溢出。

您是否有某种方法(例如 boost 或其他方法)来进行转换?

0 投票
1 回答
79 浏览

foreach - dmd can't infer type even when type is given

Here I want to lockstep iterate over two arrays of size_t

But this fails to compile with

However when I change the foreach line to use uint instead of size_t (I'm on a 32-bit laptop)

It compiles and runs just fine. What's going on?