Advanced C++ Concepts: Templates

Nov 5, 2019 · Santa Clara, United States of America

This is a 3 week course on generic programming in C++, specifically templates. Templates are a form of parametric polymorphism allowing the same piece of code to work on different types, this allows for cleaner interfaces and better code re-use. Programming with templates can be intimidating even to experienced C++ programmers, often because of confusing compiler/linker errors and because of the subtle ways templated functions and classes differ from their non-templated counterparts. Also, effective programming with templates requires knowledge of type deduction, which is often not a part of C++ training. This course introduces these topics and aims to provide the foundational knowledge to use templates in C++ boldly and effectively.

Week 1:
Why Polymorphism? Motivating parametric polymorphism
Various kinds of templates (Function, Class, Variable, Alias)

Week 2:
Template Specializations
Tag dispatch, SNIFAE

Week 3:
Type deduction basics
Practical considerations (how to parse error messages etc.)
Deep dive into a practical use with an example from the Standard Library

Note:
This course is for those with some programming experience in C++, if you have experience in other languages and are interested in learning more about generic programming it would be good to get familiar with C++ syntax to get most value.
Here are some links
Online courses:
https://www.learn-cpp.org/
https://www.udemy.com/share/101qKk/
List of books:
https://isocpp.org/get-started

Event organizers
  • Women Who Code Silicon Valley

    Join us by attending a WWCode event or signing up at www.womenwhocode.com. Women Who Code is the largest and most active community of engineers dedicated to inspiring women to excel in technology careers. We envision a world where women are representative as technical executives, founders, VCs, board members, and software engineers. Our programs are designed to get you there. Who should join? Our community is for professional women in technology careers, including software engineers, developers, UX/UI des

    Recent Events
    More

Are you organizing Advanced C++ Concepts: Templates?

Claim the event and start manage its content.

I am the organizer
Social
Rating

based on 0 reviews

Featured Events