Тема: template<typename...::type * = nullptr> Як читати цей шаблон ?
Шукав бібліотеку для окремої задачі, треба було робити конволюцію матрицьою, а знайшов цікаві синтаксні конструкції :
template <typename T, typename enable_if<!has_mod<T>::value>::type * = nullptr>
T lagrange_interpolate_iota(vc<T> &f, T c) {
// ...
}
що таке typename - знаю думав що знаю,
що таке nullptr - знаю, але не розумію чому тут не nullptr_t, ну ок, може тут треба саме значеня, але тоді куди йде присвоєня (?) ..
що таке enable_if - знаю, але бачу доведеться повторно перечитати.
Чому там * після ::type ? Це ше C++ чи .. не важливо. Важливо зрозуміти як це користувати.
Якщо серед вас є ті, хто може пояснити або дати посиланя, то кидайте, буду читати.