Информация об изменениях

Сообщение Re[2]: Value Semantics (CppCon 2022) от 10.01.2023 13:22

Изменено 10.01.2023 13:58 Videoman

Re[2]: Value Semantics (CppCon 2022)
Здравствуйте, B0FEE664, Вы писали:

BFE>Пример на 7:07 class invariant


BFE>То, что эти данные приватные ничего не меняет, если вектора два, то должен существовать код обеспечивающий их инвариантность...

BFE>Фактически это архитектурно неверное решение, так как нам надо заниматься согласованием двух независимых объектов xs и ys.

Не понял с чем ты не согласен. Два вектора это данность, это просто пример двух классов членов другого класса, между которыми нужно поддерживать строго определённый набор состояний. Он просто таким образом иллюстрирует зачем нужен класс и что такое поддержка инварианта. Представь что ты не можешь их объединить, что это два независимых класса, какие-нибудь: gl::vector и dx::vector.

BFE>И далее всё так же...

Дальше всё совсем не об этом.
Re[2]: Value Semantics (CppCon 2022)
Здравствуйте, B0FEE664, Вы писали:

BFE>Пример на 7:07 class invariant


BFE>То, что эти данные приватные ничего не меняет, если вектора два, то должен существовать код обеспечивающий их инвариантность...

BFE>Фактически это архитектурно неверное решение, так как нам надо заниматься согласованием двух независимых объектов xs и ys.

Не понял с чем ты не согласен. Два вектора это данность, это просто пример двух классов членов другого класса, между которыми нужно поддерживать строго определённый набор состояний. Он просто таким образом иллюстрирует зачем нужен класс и что такое поддержка инварианта. Представь что ты не можешь их объединить, что это два независимых класса, какие-нибудь: gl::vector и dx::vector.

Если инвариант не нужен, то и класс не нужен. Достаточно структуры.

BFE>И далее всё так же...

Дальше всё совсем не об этом.