【问题标题】:C++0x programming with Qt使用 Qt 进行 C++0x 编程
【发布时间】:2010-11-14 16:01:39
【问题描述】:

有人用 C++0x 用 Qt 做过一些编程吗?效果如何?是否可以使用 C++0x 的所有优秀功能?您使用的是什么编译器和版本?

我目前正在使用 gcc 4.6 并尝试所有 c++0x 功能,但我还没有使用 Qt 做任何事情。

【问题讨论】:

  • 这个问题非常模糊,似乎是在询问轶事和意见。
  • @erjiang:这是一个很好的问题。我猜想问的是新版本的 Qt 是否会利用 C++0x。不过我可能是错的。 @Per:请澄清您的问题
  • 我在 QT 方面没有太多经验,只知道它有一些自定义 QT 特定的东西,比如它自己的集合等。我在想的更多是关于在使用 QT(如基于范围的 for、lambdas、auto 等)时是否可以利用 C++0x 的所有优秀特性。如果这有意义的话。

标签: c++ qt c++11


【解决方案1】:

Qt 几乎取代了所有标准库功能。至于核心功能,肯定不会很快出现,因为 Qt 支持的编译器范围很广。

【讨论】:

    【解决方案2】:

    似乎某些 C++0x 标准将在 Qt 4.8 中实现 http://labs.qt.nokia.com/2011/05/26/cpp0x-in-qt/

    【讨论】:

    • 如果你读到那篇文章的底部,它明确指出你可以使用 C++0x 编译器编译 Qt 4.7,或者即使 Qt 本身不支持 0x 也可以编译你自己的代码。所以你可能还没有得到所有的好处,但你会得到一些。
    【解决方案3】:

    基于范围的 for 应该是可能的,因为 Qt 的容器或多或少都有标准的容器接口。

    【讨论】:

      【解决方案4】:

      即使 Qt 本身不使用任何 C++0x 特性(据我所知),当然也可以编写使用 Qt 的 C++0x 代码。如果任何新语法混淆了moc 解析器,则可能会出现问题,但这仅在包含Q_OBJECT 宏的类中才有意义。

      【讨论】:

        猜你喜欢
        • 2013-05-03
        • 2011-06-27
        • 1970-01-01
        • 2013-10-31
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多