您的位置:首页 > 编程语言 > C语言/C++

Boost Replaceable by C++11 language features or libraries

2017-06-22 16:09 465 查看

Replaceable by C++11 language features or libraries

  • Foreach → Range-based for
  • Functional/Forward → Perfect forwarding (with rvalue references, variadic templates and std::forward)
  • In Place Factory, Typed In Place Factory → Perfect forwarding (at least for the documented use cases)
  • Lambda → Lambda expression (in non-polymorphic cases)
  • Local function → Lambda expression
  • Min-Max → std::minmax, std::minmax_element
  • Ratio → std::ratio
  • Static Assert → static_assert
  • Thread → <thread>, etc (but check this question).
  • Typeof → auto, decltype
  • Value initialized → List-initialization (§8.5.4/3)

TR1 (they are marked in the documentation if those are TR1 libraries)

Features back-ported from C++11:

  • Atomic ← std::atomic
  • Chrono ← <chrono> (see below)
  • Move ← Rvalue references

Replaceable by C++14/17 language features or libraries (based on http://isocpp.org/blog/2013/04/trip-report-iso-c-spring-2013-meeting)

A large part of MPL can be trimmed down or removed using variadic templates. Some common use cases of Lexical cast can be replaced by std::to_string and std::stoX.

Some Boost libraries are related to C++11 but also have some more extensions, e.g.Boost.Functional/Hash contains hash_combine and related functions not found in C++11, Boost.Chronohas I/O and rounding and many other clocks, etc. so you may still want to take a look at the boost ones before really dismissing them.


http://stackoverflow.com/questions/8851670/relevant-boost-features-vs-c11


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐