Как использовать I2C на плате STM3241G-Eval с библиотекой stm32f4xx_hal_i2c

Итак ... Почему потерять полученную информацию плохо? ... потому что автор производного класса, возможно, изменил представление таким образом, что отсечение дополнительной информации изменяет значение, представляемое объектом. Это может произойти, если производный класс, если используется для кэширования представления, более эффективного для определенных операций, но дорогого для преобразования обратно в базовое представление.

Также подумал, что кто-то должен также упомянуть, что вам следует делать, чтобы избежать нарезка ... Получите копию стандартов кодирования C ++, 101 правила и рекомендации.

Он предлагает несколько сложный шаблон, чтобы полностью решить проблему: иметь защищенный экземпляр копии, защищенный чистый виртуальный DoClone и публичный клон с утверждением, которое скажет вам если (далее) производный класс не смог правильно выполнить DoClone. (Метод Clone делает правильную глубокую копию полиморфного объекта.)

Вы также можете пометить конструктор копирования в явном виде базы, который позволяет явно нарезать, если это необходимо.

0
задан Walde 24 March 2019 в 12:06
поделиться