问题标签 [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.
c - 为什么 size_t 更好?
标题实际上有点误导,但我想保持简短。我已经阅读了为什么我应该使用 size_t 并且我经常发现这样的陈述:
size_t
保证能够表达任何对象的最大尺寸,包括任何数组
我真的不明白那是什么意思。您可以一次分配多少内存并且 size_t 保证足够大以计算该内存块中的每个字节,是否有某种上限?
追问:
什么决定了可以分配多少内存?
c - 什么决定了可以分配多少内存?
这是我之前关于为什么需要 size_t 的问题的后续。
鉴于 size_t 保证足够大以表示您可以分配的内存块的最大大小(意味着仍然可以有一些大于 size_t 的整数),我的问题是......
是什么决定了您一次可以分配多少?
objective-c - Objective-C 运行时:class_addIvar 的大小和对齐方式是什么?
Objective-C 运行时提供了 class_addIvar C函数:
我要做什么size
和alignment
?
我正在添加一个 type 的实例变量UITextPosition *
,但范围内没有UITextPosition
对象。对于size
,我可以做sizeof(self)
,哪里self
是一个子类UITextField
?即,我可以假设一个UITextPosition
对象与一个对象的大小相同UITextField
吗?
我怎么得到alignment
?
c++ - size_t 和 ptrdiff_t 类型的变量
size_t
通过阅读与和相关的在线帖子ptrdiff_t
,我想确认以下内容:
如果数组的最大大小小于
1/2*(max number represent-able by size_t)
,我可以安全地使用ptrdiff_t
并检查指向同一对象的两个指针之间的相对距离吗?(因为我在谈论数组,“指向同一对象的指针”意味着“指向同一数组的指针”) .如果我想声明一个可以表示与另一个指针的偏移量的变量,我最好将它声明为 type
ptrdiff_t
?如何在 C 和 C++ 中输出类型
size_t
和变量?ptrdiff_t
以下是否正确:size_t 类型变量的跨平台格式字符串?is
uintptr_t
只是size_t
OR 的另一个名称,它应该用作独立于size_t
?的类型is
ssize_t
和OR 的intptr_t
另一个名称ptrdiff_t
必须以不同的方式使用?
我开始在 Ubuntu 上使用 gcc。我刚刚在使用别人的代码时发现了这些类型。
添加:我确实希望能够使用负偏移量。uintptr_t
和使用有什么区别intptr_t
吗?
c++ - sizeof(T) 可以产生的最大值是多少?
一开始可能会想std::numeric_limits<size_t>::max()
,但如果有一个这么大的对象,它还能提供一个过去的指针吗?我猜不是。这是否意味着sizeof(T)
可以产生的最大价值是std::numeric_limits<size_t>::max()-1
?我是对的,还是我错过了什么?
c - 遍历从 N 到 0 的所有值(包括无符号值)
我有这段代码适用于常规有符号整数,我正在尝试编写一个与 size_t 一起使用的等效版本(因为现在开始和计数是整数,我需要它们是 size_t):
我觉得这段代码对于一个非常简单的解决方案来说足够直截了当,但我正在画一个空白。
ios - 如何对 size_t 进行操作并最终得到 CGFloat?
为了确定缩放图像的比例,我使用了以下代码(借自Trevor Harmon 的 UIImage+Resize):
600 代表我想要的缩放图像的最大尺寸。CGImageGetWidth 和 CGImageGetHeight 返回一个 size_t,根据 ARC,它在 iPhone 平台 (iOS 5) 上计算为 unsigned long。当前代码的问题是比率始终评估为 0.0000。imageRef的宽高实际上是w=768,h=780,所以比例应该是MAX(0.781, 0.769) = 0.78。我该怎么做?
PS 当我将上面的代码用于 UIImage 的 initWithCGImage:scale:orientation: 时,我发现比例的工作方式与我预期的不同:传入 0.78 的比例放大了图像。将宽度或高度除以所需的大小(如 CGImageGetWidth(imageRef) /600 等)解决了这个问题。
c - C中size_t类型的malloc参数的限制是什么?文档说它的上限为 UINT_MAX 但我不能超过 INT_MAX
我想分配一个 2.9GB 的字符数组
这会给出一个整数溢出警告和malloc
返回NULL
。该
malloc
参数是 type size_t
,根据文档是 type
unsigned int
。
所以最大值应该UINT_MAX
是至少2.9GB。MAX_INT
但是,如果我尝试分配多于malloc
失败。这是否意味着
size_t
在我的系统上是 int 类型?我该如何检查?我看过
和
但找不到 的定义size_t
。非常感谢
objective-c - 如何创建 size_t 以及如何计算大小?
我创建一个 NSData 并使用该函数
const void *
因此,它返回变量中的字节。如果我手动读取内存,我会发现:
使用strlen
不起作用,因为00
. 但它的大小将是相同的:10 hexa lenght。因此,要手动创建 size_t,我将使用:
或者我使用了位大小:
这是正确的吗?
c++ - 将链表的大小从 '__int64' 截断为 'size_t
我通过创建 10 个存储桶成功地编写了用于基数排序的 C++ 代码。对于 10 个存储桶,我以这种方式创建它们:
它做得很完美。
但是现在我需要将存储桶的数量增加到 100000。我尝试修改这些存储桶的大小,例如:
但这次我想我什至不能创建那些桶。我正在使用 Visual Studio 进行编码,这是用 C++ 编写的。编译器给了我这些警告:
: 警告 C4305: 'argument' : 从 '__int64' 截断到 'size_t'
: 警告 C4309: 'argument' : 截断常数值
我在网上搜了一下,有人说这个数字太大了。这是我第一次在链表中处理这么大的数字。我是否需要修改任何内容以使此代码再次工作?
谢谢你。任何想法和帮助我将不胜感激!