【问题标题】:Understanding C++ STL errors了解 C++ STL 错误
【发布时间】:2014-03-23 06:23:57
【问题描述】:

看到 10 公里的 STL 错误列表只是因为你错过了一些可能根本与 STL 无关的东西,这很烦人。

关于如何删除这些的任何想法?或者至少,弄清楚一些事情。

【问题讨论】:

  • 根据我的经验,clang 比 g++ 提供更好的错误。
  • 我观察到了同样的事情。 CLang 更简洁。我还注意到 CLang++ 的编译速度比 2010 MacBook Pro i5 上的 Mac OS X Mavericks 上的 g++ 快得多。

标签: c++ stl g++


【解决方案1】:

有一个专门用于解析和简化 STL 错误的实用程序,因为它们非常冗长。 (它不是为了简化任意模板错误而设计的,只是 STL。)见http://www.bdsoft.com/tools/stlfilt.html

【讨论】:

    【解决方案2】:

    这是不受约束的模板的固有问题。

    当实例化时,它会在使用点失败,有时嵌套很深,而不是在调用点。

    但是有希望,看看这个:Concepts Lite。在此之后,如果有一天完成,功能齐全的概念就会出现。这些甚至可以实现单独的编译。这将非常有趣,因为模块中需要这样做。我怀疑模块将来自这里的某个地方:Clang modules

    至于解决方案,有诸如static_assert 之类的技术可以使其急切失败,但这并不取决于您。

    【讨论】:

    • 非常有趣,真的!对此一无所知。
    • 谢谢,只是想提供一些信息,即使它不能解决你的忧郁:)
    猜你喜欢
    • 1970-01-01
    • 2012-01-13
    • 1970-01-01
    • 1970-01-01
    • 2011-09-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-30
    相关资源
    最近更新 更多