Можно создать дубликат:
Where and why do I have to put the “template” and “typename” keywords?C++ Typedef подпись
Я просматривал this boost::multi_array example и имеет typedef
, такие как:
template <typename Array>
...
typedef typename Array::template subarray<2>::type::iterator iterator2;
Я понимаю, что
typedef typename <type> <new_type>;
подпись выглядит, но это имеет три вещи после typedef typename
, и я не могу найти в Интернете, что бы это называлось или что он делает. Может кто-то сломать то, что делает этот typedef, и почему у него есть три вещи? Я не думаю, что это зависит от скорости.