У меня есть резервная копия данных, которую я хотел бы защитить, поэтому я сделал ее const
.Мне нужно дважды нарушить это const
, чтобы сохранить в нем первичные данные:
fgBlocks.CopyInto((BlkArray&)backUpCopy);
по
result CopyInto(BlkArray &replica) const {/**/}
и еще раз при вызове RemoveAll()
это неконстантный метод:
((BlkArray)backUpCopy).RemoveAll(true);
Правильно ли выполнено первое приведение (показано выше, (BlkArray&)
)?Это тот аспект косвенности, который я не использовал до сих пор.Затем я снова добавлю еще один неиспользуемый аспект - исключение const
ness для вызова методов объекта, которые компилятор не принимает, как показано выше.
Члены объявлены следующим образом:
BlkArray fgBlocks;
const BlkArray backUpCopy;
Я пытаюсь расширить решение Корреа, поэтому имейте:
BlkArray *pBUCopy = (BlkArray *)&backUpCopy;
fgBlocks.CopyInto(*pBUCopy);
Единственная проблема сейчас - сбой компилятора из-за
неинициализированного члена 'MyClass:: backUpCopy 'с типом' const '' const BlockArray '