【问题标题】:Best data type to store the values like 21.6.7.1 in C/C++在 C/C++ 中存储 21.6.7.1 等值的最佳数据类型
【发布时间】:2011-06-20 07:43:30
【问题描述】:

21.6.7.1中,21代表某段,6代表该段内的某条车道,以此类推。需要提取各个值。

表示这个的一种方式是字符串,还有比字符串更好更方便的方式吗?

【问题讨论】:

  • 您使用什么语言?哪种类型更方便会有所不同。
  • 我没说是我的错,语言是C/C++。

标签: c++ c data-structures types data-storage


【解决方案1】:

具有四个字段的结构?一个包含 4 个元素的数组,也可以是一个选项。

【讨论】:

  • @dan04 感谢你们俩,您指定的方式在某些方面优于“字符串”还是只是替代方式?
  • @Anisha:整数自然代表数字。为了比较,例如,"9" 比较大于"10"9 自然比较小于10。因此,如果您需要对数字进行操作,那么使用整数会使操作更容易;如果您只需要存储它们并返回它们,那么字符串可能使您不必来回转换它们。
【解决方案2】:

bit field 可以让您将值存储在 32 位整数中。

【讨论】:

  • ... 假设各个段足够小,可以放在一个 32 位字段中。
【解决方案3】:

如果您不想有结构,请使用std::pair<pair<int,int>,pair<int,int>>tuple<int,int,int,int>。请记住,pairtuple 都不会在访问元素时造成运行时损失。

【讨论】:

    【解决方案4】:

    我会使用一个包含四个值的数组:易于比较、易于阅读和在未来的代码修订中管理。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-10-13
      • 1970-01-01
      • 2017-09-01
      • 2013-08-12
      • 1970-01-01
      • 2013-09-23
      • 1970-01-01
      • 2010-09-14
      相关资源
      最近更新 更多