[Pl-seminar] 3/10 Seminar: Jimmy Hartzell, Templates and Types in C++

Daniel Patterson dbp at ccs.neu.edu
Fri Feb 24 14:56:44 EST 2017

NUPRL Seminar presents

Jimmy Hartzell
Tower Research
Host: Ben Greenman

Friday, Mar 10, 2017
Room 366 WVH (http://www.ccs.neu.edu/home/wand/directions.html)

Templates and Types in C++


Like many modern programming languages, C++ supports both generic
programming (templates) and object-oriented programming (inheritance and
virtual functions). Unlike many modern programming languages, the generic
programming mechanism does not fully leverage or interact with the type
system. It amounts to compile-time duck typing: C++ function templates,
like functions from a non-statically typed programming language, have their
full interface implicit in their implementations -- making it hard to
discern what that interface actually is. The concept of Concepts
(compile-time typeclasses) was slated for introduction into C++ in the
C++11 version of the standard, then C++14, then C++17, now C++20... What
can we do to work around their absence?

Relatedly, how do we bridge the gap between static and dynamic
polymorphism? C++ provides both, and sometimes we want to mix and mash
them. Template tricks can also be done to accomplish this as well.


Jimmy Hartzell is a software developer and C++ instructor at Tower Research.
-------------- next part --------------
HTML attachment scrubbed and removed

More information about the pl-seminar mailing list