Standard C++17 wprowadza mechanizm automatycznego wykrywania typów argumentów szablonów klas (Class template argument deduction – CTAD). Argumenty szablonu są określane na podstawie konstruktora klasy. Zmiana ta ułatwia codzienną pracę programisty oraz pozwala pisać bardziej ogólny i przejrzysty kod. Warto więc poznać CTAD lepiej, by uniknąć nieoczywistych błędów.