Есть ли какая-то конкретная причина для шаблонов переменных в стандартной библиотеке?

C++17 представил различные шаблоны вспомогательных переменных, например:

template< class T, class U >
inline constexpr bool is_same_v = is_same<T, U>::value;

template< class T >
inline constexpr bool is_aggregate_v = is_aggregate<T>::value;

Они все отмечены inline, поскольку constexpr подразумевает внутреннюю связь по умолчанию [ ref], даже без inline одно правило определения не будет нарушено. Так я не вижу inline необходимо здесь. Также я не вижу никакой выгоды, которую это приносит. Так почему inline?

0 ответов

Другие вопросы по тегам