Progress to C++17

所在平台: Udemy

课程主页: https://www.udemy.com/course/update-to-cpp17/

课程评论:没有评论

第一个写评论        关注课程

课程简介

课程名称:C++17进阶 概述:本课程面向熟悉C++11和C++14的中级程序员,旨在介绍C++17的新特性和语言改进。C++17继续“现代C++”的主题,添加了更好的抽象,提供了更多对函数式编程风格的支持,并在编译时进行更多工作。课程内容对于库开发者和编译时编程人员尤为有用,同时还包括每个C++应用程序开发者都想使用的结构化绑定等特性。 课程开始于C++语言核心的变化,包括结构化绑定,这使得处理复合对象变得更容易,以及在if语句中的初始化器,从而能够更简洁地编写基于函数调用返回值的分支代码。接下来,我们将学习C++标准库的变化,首先介绍用于字符串与数字之间的转换的新函数,这些函数比旧的替代方案更高效,尤其适合处理大型字符串如XML或JSON。string_view类则提供了一种便捷的方式来引用这些字符串中的元素,并更高效地将字符串字面量传递给期望std::string的函数参数。 另外,词汇类型std::variant、std::optional和std::any提供了C语言中来自的习惯用法(如联合、空/非空指针和void指针)的更安全替代方案。我们还将讨论对std::map和std::multimap的改进以及更快的字符串搜索方法。随后的两个部分涉及C++17中新引入的两个库:文件系统接口和并行版本的库算法。最后,我们讨论编译时编程,包括重要的“constexpr if”特性,这使得编写在编译时执行的程序变得简单,无需成为模板元编程的专家。 每节课都包含对所讨论特性的演示,并提供可下载的练习及其解决方案。这些练习相对简单,旨在测试您对刚学到的内容的理解。 完成本课程后,您将对C++17的新特性及其用法有良好的掌握。

课程评论(0条)

课程详情

This course is intended for programmers who are familiar with C++11 and C++14 to at least Intermediate level.C++17 adds many new features and improvements to the language. It continues the "Modern C++" theme of adding better abstractions, providing more support for a functional style of programming and doing more work at compile time. There are many features which library developers and compile-time programmers will find useful, along with features like structured bindings which every C++ application developer will want to use!The course begins with the changes to the core C++ language. These include structured bindings, which make working with compound objects much easier, and initializers in if statements, which will enable you to write code which branches on the return value from a function call much more concisely.We then cover the changes to the C++ Standard Library, starting with new functions for converting between strings and numbers. These are much more efficient than the older alternatives and are ideal for writing code that processes large strings such as XML or JSON. The string_view class, which never creates temporary objects, provides a convenient way of referring to elements in such strings, as well as a more efficient way to pass string literals to function arguments which expect a std::string. The "vocabulary types", std::variant, std::optional and std::any, provide safer alternatives to idioms which derive from C (unions, null/non-null pointers and pointer to void respectively.) We also cover improvements to working with std::map and std::multimap, and a faster way of searching strings.The following two sections deal with two libraries which are completely new in C++17: the filesystem interface and parallel versions of library algorithms. Finally, we cover compile-time programming, including the very important "constexpr if" feature. Now you can write programs which execute at compile-time, without having to be a template metaprogramming guru!Each lecture contains a demonstration of the features being covered and has downloadable exercises, with solutions. These are fairly simple and test your understanding of the topic you have just learnt.After successfully completing this course, you will have a good knowledge of the new features in C++17 and how to use them.

课程标签

0人关注该课程

主题相关的课程