代码块是什意思,怎么使用?求解答

auto var = m_availInst.find(str); 
if (var != m_availInst.end())  //判断选中的指令集是否正确
{
    m_instructionType = var->second.type;
    var->second.extra.width = width;
    tool.SetInstExtraInfo(&var->second.extra);
}
else
{
    AfxMessageBox(L"没有指定的指令集");
    return;
}

还有这个是上面调用的,又是什么用法?
void PrnDataTool::SetInstExtraInfo(INST_EXTRA* extra)
{
if (mInstExtraInfo != NULL)
{
delete mInstExtraInfo;
}
mInstExtraInfo = new INST_EXTRA(extra);
mInstExtraInfo->instModel = extra->instModel;
mInstExtraInfo->width = extra->width;

tool.SetInstExtraInfo(&var->second.extra); 设置有效值。。

tool代表啥,你有源代码看更明白。。

mInstExtraInfo = new INST_EXTRA(extra); 这个就是纯粹的赋值操作