Beyond the C + + standard library: Boost Library guide: Order

Source: Internet
Author: User

Sequence (foreword)
Some wonderful things are happening in the C + + community. Although C + + is still the most widely used programming language in the world, it is still becoming more powerful and easy to use. Do you believe me? Let me slow down.

The current version of standard C + + was finalized in 1998, providing strong support for traditional procedural programming (procedural programming) and object-oriented and generic programming (generic programming). Just as the old (1998) C + + was a single-handedly introducing object-oriented to the scope of the work of software developers, C++98 did the same thing for generic programming. The 1990 's mid-term Standard Template Library (STL) was integrated into standard C + + to represent a paradigm shift in programming (paradigm), as much as Bjarne Stroustrup introduced classes into the C language in the early 1980. Now, most C + + practitioners are already familiar with the concept of STL, and it's time to upgrade our technical standards once again.

How to play the power of C + + is still constantly being explored. Many of today's C + + libraries (especially some math libraries) benefit from the original advantages of template meta-programming (metaprogramming), an accidental and unforeseen result, thanks to the outstanding design of C + + templates. As higher-level tools and technologies emerge in the C + + community, developing increasingly complex applications is becoming more straightforward and enjoyable.

How to emphasize that the boost library is not too important for the C + + world. Since the adoption of the C++98 standard, in addition to the ISO standard C + + committee (called WG21), no other organization like boost has had such a huge impact on the direction of C + +, and many of the contributors to the boost are famous members of WG21, including its creators, My friend Beman Dawes. Thousands of experienced boost volunteers developed a number of useful libraries in a non-selfish, expert-reviewed (peer-reviewed) manner that provided solutions that c++98 failed to provide. 10 of these libraries have been approved and are intended to be integrated into the upcoming c++0x library, and more libraries are being considered. When a proposed library is indeed missing, the wisdom of the interaction and influence (cross-pollination) between boost and WG21 implies the need for some cautious linguistic improvements that are being considered.

Step back 10,000, say, if you've never heard of boost, let me ask you ... Do you need to convert between text and numbers? or (in a better case) the conversion between the (streamable) types of the input and output streams. No problem, it's good to use Boost.lexical_cast. Oh, you need to do more complicated text processing? Perhaps you can try Boost.tokenizer or Boost.regex, if you need to do a more comprehensive analysis, you can try Boost.spirit. Boost.bind the ability to project and assemble functions can be a jaw-dropping. For functional programming (functional programming) you can use BOOST.LAMBDA. Static assertion (assertions)? Sure, no problem. If you have a preference for math, throw away a pencil, you can use Boost.math, Graph, quaternion, octonion, MultiArray, Random, and rational. If you have the pleasure of using Python, you can use it with C + + with the help of Boost.python. For these libraries mentioned above, you can choose the development platform according to the actual needs.

Björn Karlsson is an avid boost supporter and a loyal supporter of the C + + community. He has published a number of useful and well-read articles on the C + + Users Journal, and recently wrote some articles for the C + + source, the C + + source is a new online resource that delivers the voice of the C + + community (please visit www.artima.com/ Cppsource). In this book, he advocates and describes some of the key components of boost, and then shows how they work with the C + + standard library and extend the C + + standard library. Don't just look at this book as an in-depth boost tutorial, but you can also use it to sample future versions of standard C + +. Enjoy yourself!

Beyond the C + + standard library: Boost Library guide: Order

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.