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其他的好處這裏就不說了