官术网_书友最值得收藏!

More C++20 features

C++20 is a new big release of the C++ language. It contains many features that make the language more complex and flexible. Concepts, ranges, and coroutines are some of the many features that will be discussed throughout the book.

One of the most anticipated features is modules, which provide the ability to declare modules and export types and values within those modules. You can consider modules an improved version of header files with the now redundant include-guards. We'll cover C++20 modules in this chapter.

Besides notable features added in C++20, there is a list of other features that we will discuss throughout the book:

  • The spaceship operator: operator<=>(). The verbosity of operator overloading can now be controlled by leveraging operator<=>().
  • constexpr conquers more and more space in the language. C++20 now has the consteval function, constexpr std::vector and std::string, and many more.
  • Math constants, such as std::number::pi and std::number::log2e.
  • Major updates to the Thread library, including stop tokens and joining threads.
  • The iterator concepts.
  • Move-only views and other features.

To better understand some new features and also dive into the essence of the language, we will introduce the language's core starting from previous versions. This will help us to find better uses for new features compared to older ones, and will also help in supporting legacy C++ code. Let's now start by gaining an understanding of the C++ application building-process.

主站蜘蛛池模板: 通渭县| 万州区| 伊宁市| 齐齐哈尔市| 内黄县| 桐城市| 石城县| 枣强县| 伊宁县| 扶绥县| 饶平县| 吴江市| 卓资县| 昭平县| 稻城县| 栾川县| 旬阳县| 莱芜市| 平潭县| 寿光市| 越西县| 延长县| 盈江县| 子长县| 肇庆市| 邯郸县| 泰州市| 泸水县| 三门峡市| 大余县| 顺义区| 九龙县| 娱乐| 东方市| 宁安市| 阿拉善盟| 冷水江市| 东辽县| 上蔡县| 安陆市| 富民县|