cost 248 ms
为什么 ptrdiff_t 签名? - Why is ptrdiff_t signed?

如果ptrdiff_t是无符号的,它将能够引用两倍的元素。 在我的机器上PTRDIFF_MAX扩展到9223372036854775807i64 ,而ULLONG_MAX是18446744073709551615Ui64 。 我知道这些价值本身是巨大的,但如果选择类型 ( ptrdiff_t ) ...

ptrdiff_t 的动机是什么? - What is the motivation for ptrdiff_t?

为什么 C 为两个指针之间的差异定义一个单独的类型? 例如,为什么不能将其定义为long long ,甚至不能定义为intmax_t ? 是否有过intmax_t不等于ptrdiff_t的时候? 基本上,为什么这个 typedef(具有特定的字符串格式等)有用是什么意思? 作为一个基本的使用示例, ...

ptrdiff_t的用法 - Usage of ptrdiff_t

我正在通过连续的内存块实现迭代器,并且遇到了关于其符合使用的问题。 我当前的实现(假设我正在遍历char的数组)。 问题是标准声称6.5.6(p9) : 当减去两个指针时,两个指针都指向同一个数组对象的元素,或者指向数组对象的最后一个元素的元素 这是真的。 我假设我 ...

为了迭代数组我们应该使用size_t还是ptrdiff_t? - For iterating though an array should we be using size_t or ptrdiff_t?

在这篇由Andrey Karpov撰写的题为“关于size_t和ptrdiff_t ”的博客文章中,他展示了一个例子, 但是,我不确定这是否正确,似乎应该如此 这个对吗? 我知道我们也应该使用类似memset东西,但让我们完全避免这种情况。 我只问这种类型 ...

ptrdiff_t可以表示指向同一数组对象元素的所有指针的减法吗? - Can ptrdiff_t represent all subtractions of pointers to elements of the same array object?

对于将指针i和j减去同一数组对象的元素, [expr.add#5]中的注释读取: [ 注意:如果值i-j不在std​::​ptrdiff_t类型的可表示值范围内,则行为未定义。 - 结束说明 ] 但是给出[support.types.layout#2] ,其中指出( 强调我的 ...

用于负数组索引的C ++ size_t和ptrdiff_t - C++ size_t and ptrdiff_t for negative array indexing

我很难在size_t和ptrdiff_t之间选择索引类型,它应该能够存储负值。 确切地说,在我的代码中,我需要实现一个数组。 我接收它的长度(在构造函数中)作为size_t的类型,当我重载[] operator我需要索引类型为ptrdiff_t (而不是size_t ),因为我想允许负索 ...

在用户定义的类型上使用std :: ptrdiff_t - Using std::ptrdiff_t on user defined types

我有一个名为node的简单结构,该结构具有一个值+ 2个指向下一个/上一个节点的指针。 在这里,我们具有将新节点添加到末尾的功能。 在main中,我们创建100个链接的节点,每个节点都有一个唯一的int值。 以下是指向第一个/最后一个节点的指针: 当尝试应用指针算 ...

结构成员之间的指针差异? - Pointer difference across members of a struct?

C99标准规定: 当减去两个指针时,两个指针都指向同一个数组对象的元素,或者指向数组对象的最后一个元素的元素 请考虑以下代码: 这显然打破了上述规则,因为p和q指针指向不同的“数组对象”,并且根据规则, q - p差异是未定义的。 但在实践中,为什么这样的事情会导 ...


 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM