typedef的作用想必大家都知道的,就是替换作用,开始用它时还不是很习惯,用着用着就发现作用来了
比如下面,开始我只是想保存一个角色信息的队列
struct PlayerInfo
{
unsigned long long id;
std::string playerName;
...
};
typedef std::vector<PlayerInfo> PlayerInfoList;
由于自己知道PlayerInfoList是个vector数组,所以工程中就自然出现了下面的代码
PlayerInfoList playerInfoList;
for( int i=0; i<playerInfoList.size(); ++i)
{
....
}
然后在用着用着的过程中发现PlayerInfoList的主要操作就是插入和删除,经常分析vector换成list会更合适,效率会更高高些,
然后就把
typedef std::vector<PlayerInfo> PlayerInfoList;
换成了
typedef std::list<PlayerInfo> PlayerInfoList;
这时如果
for( int i=0; i<playerInfoList.size(); ++i)
{
....
}
上面的写法换成下面的话
PlayerInfoList playerInfoList;
for( PlayerInfoList iter=playerInfoList.begin(); i!=playerInfoList.end(); ++iter)
{
....
}
会省下很多事,当然这又体现出stl中迭代器标准的优势了
typedef其他的好处这里就不说了