DP
Size: a a a
DP
͏С
begin()
до end()
-> в случае перемещения элемента (то есть, удаления с оригинального вектора) делаю --it
, в следствии чего ++it
после тела цикла вернет его на местоend()
в случае смены размера вектора (чтоб он не вышел на невалидный адрес)end()
снят, увидел пример на цппрефеs
std::unique_ptr<MCInst> ins;
ins = emitter.emit(*ctr);
но для некоторых операций есть аппаратные ограничения которые неплохо бы проверять, они(если есть) добавляются в класс - наследник MCInst
и в валидаторе мы пробуем сделать каст к этому классу - и если он получается - проверяем для него рестрикшеныif (not Validator::validate(ins))
{
return false;
}
DP
s
IZ
s
s
DP
DP
DP
s
s
DP
DP
s
s
std::unique_ptr<MCInst>
DP
s
s
MCInstRestrictions : MCInst
std::unique_ptr<MCInst>