C++问题(2019-09-23):下面两句如何理解?

C++问题(2019-09-23):下面两句如何理解?

问题描述:

问题:下面的代码如何理解?

auto e = getEvent<eMediaEvents::MEDIAE_HMI_BROWSE>(*event);
 
auto reply = [](const std::string sourceId
              , const MediaBrowseType browseType
              , std::vector<MediaBrowsingData>& returnValues)

using MediaEventNamesTable = std::unordered_map<eMediaEvents, std::string, std::hash<int>>;
extern MediaEventNamesTable g_mediaEventToString;

auto 在这儿的作用是让编译器根据上下文自动推断变量的类型
即auto e:e 的类型与getEvent的返回值相同
问题2:这儿的using MediaEventNamesTable = std::unordered_map<eMediaEvents, std::string, std::hash>;等价于
typedef std::unordered_map<eMediaEvents, std::string, std::hash> MediaEventNamesTable;