Я изучаю пример кода, который пытается научить реализации схем состояния. Я вижу определения типов в шаблоне, такие как typedef typename T::HostClass Host
понимание typedefs внутри шаблонов
Для ясности, определение шаблона
template<typename T>
struct Init {
typedef typename T::HostClass Host;
Init(Host& h) :
host_(h) {
}
~Init() {
T::entry(host_);
T::init(host_);
}
Host& host_;
};
Я пришел, чтобы знать цель typename
рядом с typedef
, и объясняет Highly-Typed-Languages
таких как C++
(Folks, Am I не так ли? является ли это так?)
путаница находится в HostClass
В typedef typename T::HostClass Host;
- Что такое
HostClass
? - Означает ли это, что любой тип T должен иметь элемент
HostClass
?
Тут с этой страницы. 'http: // accu.org/index.php/journals/252' – nmxprime