Использование {} в качестве типа параметра аргумента по умолчанию - PullRequest
0 голосов
/ 05 февраля 2019

Я хотел бы знать, как работает этот шаблон.Почему мы использовали T{} для инициализации параметра шаблона?

template<typename T, T Val = T{}>
T bar();

1 Ответ

0 голосов
/ 05 февраля 2019

В фигурных скобках инициализация списка , введена в C ++ 11.

It значение-инициализирует параметр шаблона Val, который является шаблоннымвведите T.

Вы могли бы сделать то же самое:

template<typename T, T Val = T()>
T bar();

Сведения о преимуществах и недостатках см .: Почему инициализация списка (с использованием фигурных скобок) лучше, чемальтернативы?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...