Companies Home Search Profile

C++ Standard Library: Associative Containers

Focused View

Giovanni Dicanio

1:26:57

13 View
  • 01 - Course Overview.mp4
    02:19
  • 02 - Introduction.mp4
    01:52
  • 03 - Introducing std--set.mp4
    03:02
  • 04 - Creating std--set and Querying Common Attributes.mp4
    01:42
  • 05 - Inserting New Elements in std--set.mp4
    03:30
  • 06 - Iterating through std--set Elements.mp4
    01:40
  • 07 - Removing Elements from std--set.mp4
    03:14
  • 08 - Looking up Elements in std--set.mp4
    02:37
  • 09 - Demo- std--set in Action.mp4
    04:06
  • 10 - Demo- Storing Objects of Your Own Classes in std--set.mp4
    03:16
  • 11 - Summary.mp4
    01:47
  • 12 - Introduction.mp4
    01:42
  • 13 - Why std--map-.mp4
    02:29
  • 14 - Demo- Implementing a Simple Airport Database with std--map.mp4
    04:29
  • 15 - Removing Associations from std--map.mp4
    02:46
  • 16 - Summary.mp4
    01:09
  • 17 - Creating and Initializing std--map.mp4
    01:23
  • 18 - Inserting and Looking up Associations with map--operator[].mp4
    02:39
  • 19 - Iterating through std--map Associations.mp4
    03:11
  • 20 - Demo- std--map in Action with Number Pronunciations.mp4
    03:04
  • 21 - Demo- Subtle Bug with std--maps operator[].mp4
    03:16
  • 22 - Searching Associations with the map--find Method.mp4
    04:27
  • 23 - Demo- Fixing the Subtle Bug when Looking up Items in Constant std--map.mp4
    01:45
  • 24 - Demo- Implementing a Simple English-Italian Dictionary with std--map.mp4
    03:07
  • 25 - Introduction.mp4
    01:09
  • 26 - Introducing std--unordered map.mp4
    02:32
  • 27 - unordered map vs. map- Element Sorting.mp4
    01:05
  • 28 - unordered map vs. map Under the Hood- Performance Differences.mp4
    05:30
  • 29 - Demo- unordered map vs. map Performance in Action- Counting Words.mp4
    07:16
  • 30 - A Brief Touch on Using Custom Classes as Keys.mp4
    01:37
  • 31 - Recommendations to Learn More.mp4
    01:15
  • 32 - Summary and Thank You.mp4
    02:01
  • Description


    This course will teach you in a practical way, with slides and demo code, how to use important associative containers available in the C++ Standard Library (e.g. std::map). You will learn their pros and cons, and common operations.

    What You'll Learn?


      Non-trivial computer programs need to store data and process it. Developing data structures and containers from scratch in C++ is a daunting and bug-prone task. In fact, you would have to consider advanced aspects like manual memory and resource management, proper handling subtle corner cases, writing both generic code and code that is optimized for special cases, and so on. Moreover, there are some data structures like balanced binary search trees or hash tables that are very useful in applications; however, it is definitely non-trivial to implement from scratch.
      Thankfully, the C++ Standard Library already offers containers that are high-quality, efficient, and well-tested. It’s a joy to develop C++ code reusing them: in fact, using these containers in your C++ code will boost your productivity, as the C++ Standard Library gives you on a platter high-quality implementations of common and useful data structures that you can easily leverage in your C++ code. C++ Standard Library’s maintainers spend hours looking at these data structures, and improving, refining, and optimizing their C++ implementation code. In this course, C++ Standard Library: Associative Containers, you will learn how to simply reuse that treasure in your own C++ applications.
      First, you will explore std::map, which isa very versatile and convenient associative container that you can use when you need to associate some unique keys to additional values. This can come in handy in lots of applications, from translation dictionaries, to computer graphics programs to databases.
      Next, you will discover important operations, like inserting, removing, and searching elements. You will first see them described in theory using slides, including a discussion of their asymptotic runtime complexity. Then, you’ll also see them in action in practical demo code. You will also touch on how to achieve even better performance than std::map, using std::unordered_map. You’ll see how that comes at a cost, though, like losing element ordering that is guaranteed by std::map. Then, you will see a practical demo code with a benchmark comparing std::unordered_map vs. std::map performance in action.
      Finally, you will learn how to easily store unique elements in a specific container, maintaining element ordering. This is possible using std::set. You will see how to store custom objects in std::set, including how to fix a subtle bug. I hope that discussing subtle bugs that are especially frequent for those starting to learn the C++ Standard Library containers will save you precious time and headache during your C++ programming. To proficiently follow this course, you only need a basic knowledge of C++ language features. You also need to know some basic architectural elements ofthe C++ Standard Library, like iterators, that are described in my “C++ Standard Library: Sequential Containers” course.
      After completing this course, you will be able to use high-quality efficient and well-tested C++ Standard Library associative containers like std::map, std::unordered_map and std::set in your own C++ code. You will have practical knowledge about them, and be able to make proper judgement about picking one or the other based on the problem at hand. You will also have knowledge about important common operations with these standard associative containers such as inserting, removing, and searching elements.

    More details


    User Reviews
    Rating
    0
    0
    0
    0
    0
    average 0
    Total votes0
    Focused display
    Category

    C++

    Giovanni Dicanio
    Giovanni Dicanio
    Instructor's Courses
    Giovanni Dicanio is a computer programmer specialized in both cross-platform C and C++, and Windows operating system development. Giovanni wrote computer programming articles on C++, OpenGL and other programming subjects on Italian computer magazines. He recently authored some C++ feature articles for MSDN Magazine, too. He contributed code to some open-source projects as well. His computer programming experience dates back to the glorious Commodore 64 and Amiga 500 golden days, with Basic and assembly. Giovanni likes helping people solving C and C++ programming problems on forums including Stack Overflow. He has held the Microsoft MVP Award for Visual C++ since 2007 for his contributions to the C++ development community, first on NNTP newsgroups then on forums.
    Pluralsight, LLC is an American privately held online education company that offers a variety of video training courses for software developers, IT administrators, and creative professionals through its website. Founded in 2004 by Aaron Skonnard, Keith Brown, Fritz Onion, and Bill Williams, the company has its headquarters in Farmington, Utah. As of July 2018, it uses more than 1,400 subject-matter experts as authors, and offers more than 7,000 courses in its catalog. Since first moving its courses online in 2007, the company has expanded, developing a full enterprise platform, and adding skills assessment modules.
    • language english
    • Training sessions 32
    • duration 1:26:57
    • level average
    • Release Date 2023/12/06