С++ cast static_cast
, const_cast
, reinterpret_cast
имеют шаблонный синтаксис, например.
long foo = 3;
int bar = static_cast<int>(foo);
Я посмотрел в стандарте, и он говорит, что приведения - это выражения, а не шаблонные функции, как я думал.
Это заставило меня задуматься: под капотом эти листы просто шаблоны с привилегированным статусом, или они являются ключевыми словами, которые заимствуют синтаксис шаблона?