diff --git a/src/14_templates.md b/src/14_templates.md index b6e799f..efacb07 100644 --- a/src/14_templates.md +++ b/src/14_templates.md @@ -210,6 +210,13 @@ size_t size(T (&arr)[N]) { ``` Важный момент в non-type параметрах шаблона: **всё, что вы подставляете в шаблон, должно быть известно на этапе компиляции**. Потому что только на этапе компиляции существуют типы, в частности, шаблонные типы. +В *C++20* нестатический шаблонный параметр может быть объявлен как `auto`, позволяя выводить тип из аргумента. Например: +```c++ +template struct S { + static constexpr auto value = N; +}; +``` + ## Template template parameter. Хочется обёртку над контейнером. Зачем-то. ```c++