代码之家  ›  专栏  ›  技术社区  ›  Ismail Marmoush

c++uint,无符号int,int

  •  23
  • Ismail Marmoush  · 技术社区  · 14 年前

    嗨,我有一个程序处理很多向量和这些向量元素的索引,我想知道:

    1. 两者有区别吗 uint unsigned int
    2. 使用上述类型中的一种或仅使用 int 当我读到一些人说编译器处理int值更有效,但如果我使用 内景 我将不得不检查总是阴性的IDX这是痛苦。
    3. 你认为迭代器更好吗?它是否比普通索引更有效 vectorx[idx]

    p、 该软件将处理大数据处理和良好的性能是必须具备的要求

    4 回复  |  直到 7 年前
        1
  •  48
  •   AnT stands with Russia    14 年前
    1. C++没有定义这样的类型 uint . 这必须是“your”类型,即在代码或某个第三方库中定义的类型。人们可以猜到这和 unsigned int unsigned long int 但是或者别的什么。不管怎样,你得自己检查一下。

    2. 未签名 将更有效地处理的类型。

        2
  •  3
  •   TreDubZedd    14 年前

    如果按顺序遍历向量,请务必使用迭代器。无论索引类型如何,索引都会带来开销,这可以通过迭代来避免。

        3
  •  1
  •   Arslan    14 年前

    1) uint=unsigned int,实际上uint只是一个 类型定义 对于unsigned int(编译时将被unsigned int替换)。

    2) 如果您想在代码中添加uint附带的一些“安全性”,那么一定要避免负值。

        4
  •  0
  •   Aamir    8 年前

    正如其他海报所指出的,uint可能是 unsigned 内景 如果你用的是 Visual Studio F12 当文本光标处于 uint 看看它的定义。