【问题标题】:What is the Linux equivalent to MAXDWORD?Linux 相当于 MAXDWORD 是什么?
【发布时间】:2010-07-14 04:52:59
【问题描述】:

在 Microsoft Visual C++ 中,在 winnt.h 中定义了一个名为 MAXDWORD 的常量,如下所示:

#define MAXDWORD 0xffffffff

当一个人在一个集合中搜索最小值时,它作为一个高初始值是很有用的。 虽然我可能在 Google 上找到,但我在 Linux 上的标准头文件中找不到等效项,但我敢打赌一定有一个。

我正在使用:

  • uBuntu 10.04 64bit
  • g++ 4.4.3

【问题讨论】:

  • 虽然下面的答案是正确的,但正无穷大不是更好的初始值或至少是std::numeric_limits<double>::max()

标签: c++ linux constants


【解决方案1】:

标准解决方案是使用std::numeric_limits。例如,std::numeric_limits<long>::max()。您可以使用任何标准类型而不是 long 那里。您甚至可以将 numeric_limits 专门用于自定义类型。

【讨论】:

  • 这只是一个例子。你可以放任何你想要的东西。
  • 完美,正是我需要的!
【解决方案2】:
#  define UINT_MAX  4294967295U

发现于/usr/include/limits.h

【讨论】:

    猜你喜欢
    • 2010-09-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-10
    • 2010-10-28
    • 2013-11-21
    • 1970-01-01
    • 2021-10-01
    相关资源
    最近更新 更多