【问题标题】:C++ type int8_t[20] in delphi?delphi中的C ++类型int8_t [20]?
【发布时间】:2012-11-23 01:27:15
【问题描述】:

等于什么

int8_t[20]

Delphi 中的 C++ 类型?

据我所知,它是字节,但 [20] 是什么?

谢谢

【问题讨论】:

  • 低指数和高指数无关紧要,重要的是它有20个元素。您可以声明字节数组[100..119],在内存中它的形状仍然相同。
  • @jachguate,那么您可能想知道为什么当您刚刚翻译下一段期望低数组绑定为 0 的代码时,您会越界。
  • TLama,您假设 OP 正在翻译一段代码,但我没有。我只是在说明记忆形状。也就是说,我同意 0..19 更好地与其他语言保持一致,但归根结底,这是一个品味问题。
  • @jachguate,您可能会认为这不是语言翻译主题,但为什么会出现这个问题?而且,我不是在谈论某种一致性,而是在翻译代码并且在该代码中使用常量数组元素索引时的情况。然后你会将这些索引移动 100 而不是正确声明数组吗?
  • @TLama 正确地不是这个词,这个词是一致的。如果您声明它有 20 个元素,无论您使用什么索引,该数组都是正确的。如果您使用不同于 0..19 的任何值,则不一致。问题出现了,因为 OP 试图通过网络进行通信并实现数据结构以实现该通信。 AFAIK,这对他来说不是语言交易主题,但也许我错了,他只是在翻译所有代码来做到这一点。

标签: c++ delphi delphi-xe3


【解决方案1】:

这是一个带符号的单字节整数数组。在 C/C++ 数组中,所有数组都从索引 0 开始,因此有效的数组索引从 0 到 19

【讨论】:

  • 更具体的 Delphi,它是 array[0..19] of Shortint
  • array[0..19] of Int8 支持Int8 的Delphi 版本,因为Shortint 现在已弃用。
猜你喜欢
  • 2012-02-12
  • 1970-01-01
  • 2015-09-06
  • 1970-01-01
  • 2013-04-01
  • 2021-02-09
  • 1970-01-01
  • 2011-03-09
相关资源
最近更新 更多