Template Argument Deduction - Core C++, Part 2

Template Argument Deduction - Core C++, Part 2

Rate This
  • Comments 8

Part 2 of my third video lecture series (covering the C++ Core Language) is now available.  In this part, I took an hour to explore template argument deduction, including what "non-deduced contexts" are - and how they can be used to your advantage!  For reference, here are all of the links to my video lectures, plus my GoingNative 2012 presentation:


[STL Introduction]

Part 1 (sequence containers)

Part 2 (associative containers)

Part 3 (smart pointers)

Part 4 (Nurikabe solver) - see Wikipedia's article and my updated source code

Part 5 (Nurikabe solver, continued)

Part 6 (algorithms and functors)

Part 7 (algorithms and functors, continued)

Part 8 (regular expressions)

Part 9 (rvalue references)

Part 10 (type traits)


[Advanced STL]

Part 1 (shared_ptr - type erasure)

Part 2 (equal()/copy() - algorithm optimizations)

Part 3 (_ITERATOR_DEBUG_LEVEL, #pragma detect_mismatch, and /d1reportSingleClassLayout)

Part 4 (rvalue references v2.1 and associative container mischief)

Part 5 (deduplicator, using Boost.Bimap, Filesystem, and ScopeExit) - see my deduplicate.cpp

Part 6 (container pretty printer) - see my pretty_printer.cpp


[GoingNative 2012]

STL11: Magic && Secrets (make_shared<T>(), emplacement, pair SFINAE, range-based for-loop) - see my slides


[Core C++]

Part 1 (name lookup)

Part 2 (template argument deduction)


Stephan T. Lavavej

Senior Developer - Visual C++ Libraries


Leave a Comment
  • Please add 7 and 3 and type the answer here:
  • Post
  • Hey, cool, I missed that you were doing this series! Getting into the gnarliest bits of C++ as quickly as possible? What's next, the interaction of ADL and optional parameters? :D

  • I'm actually trying to cover the most commonly encountered bits, whether simple or complex (ok, usually complex). Overload resolution is probably next (although I may change my mind).

  • Great series. Thanks for excellent job and I can't wait to watch overload resolution part.

  • You said you don't use the IDE in VS to type code.  What do you use?

    Previously the board added all sort of html hexes for quotes and punctuation.  Let's see howt his goes.

  • Hi Stephan,

    Really enjoy your lectures - they are frankly priceless. Any ideas when part 3 is out? Also, it would be great if you could cover variadics which I understand from Herb Sutter are coming in a post RTM drop. Andre covered them recently, but they're a complex topic and I think would benefit from multiple treatments.

    Kind regards,


  • I filmed Part 3 (overload resolution) today! :-> It usually takes a couple of weeks for an episode to make its way through the editing/encoding/uploading pipeline.

    Backjack: I use Metapad, a freeware clone of Notepad that's somewhat more powerful.

    Tom Kirby-Green: I'm glad you like them. I'll cover variadic templates as soon as I can show off a Project Ellipsis compiler.

  • @STL,

    About this blogging system: The blog system running on blogs.office.com, blogs.msdn.com, windowsteamblog.com etc. is a product of "Telligent" corp.

    I have reported this bug to Ted Johnson -> Microsoft IE blogger. He reffered me to the guys responsible at telligent team. I sent them the whole list of bugs including:

    - The session timeout (15 minutes for anonymous users and unlimited for signed-in users)

    - Lack of error & warning notifications

    - Lack of retaining the message in the <textarea> when the page is refreshed without posting your comment

    - If the message was moderated out due to inappropriate statement show notification while retaining the message in the textarea with "consider-reviewing" notification, so the user can edit

    ...yada yada

    The bug reports on telligent issue tracker are still opened (T00020087 & T00020932  on 04/26 and 06/23 respectively). Never heard back from them. If you know someone personally in Telligent, please ask him to escalade these annoying bugs in their product.

    Talking about a decent blogging system, there are number of blog system example (with source code) on MSDN tutorials for ASP-MVC3 Entity Framework alone!! So why don't they just deploy one of their own example rather buying the product from crippled Telligent... Looks like someone at Microsoft has made a fishy deal with Telligent guys.. *mutual benefits*.. Microsoft needs to laywer up and sue his caboose... (pardon my French)...

  • Xero> If you know someone personally in Telligent

    I don't, sorry. I know who to complain to about compiler bugs, and that's it. :->

Page 1 of 1 (8 items)