0
Hy你們所有人。C++ 11/Auto - 我應該怎麼做?
Soo我決定把我的代碼提交給C++ 11。 爲了簡化我的代碼我想使用auto
爲iterators
這是我的代碼。
bool Blend_Item_init()
{
BLEND_ITEM_INFO *blend_item_info = NULL;
T_BLEND_ITEM_INFO::iterator iter;
char file_name[256];
snprintf (file_name, sizeof(file_name), "%s/blend.txt", LocaleService_GetBasePath().c_str());
sys_log(0, "Blend_Item_init %s ", file_name);
DO_ALL_BLEND_INFO(iter)
{
blend_item_info = *iter;
M2_DELETE(blend_item_info);
}
s_blend_info.clear();
if (false==Blend_Item_load(file_name))
{
sys_err("<Blend_Item_init> fail");
return false;
}
return true;
}
我應該如何使這個代碼在c + + 11更短的auto
? 而且我還可以在這個功能中使用智能指針?
編輯:DO_ALL_BLEND_INFO(iter)
被定義爲
#define DO_ALL_BLEND_INFO(iter) for (iter=s_blend_info.begin();iter!=s_blend_info.end(); ++iter) –
什麼是'DO_ALL_BLEND_INFO(iter)'? – user463035818
#define DO_ALL_BLEND_INFO(iter)\t for(iter = s_blend_info.begin(); iter!= s_blend_info.end(); ++ iter) – user5546877
我並沒有真正迷戀某些人,讓他們的代碼「儘可能短「。爲了可讀性,而不是長度。 –