История изменений
Исправление rumgot, (текущая версия) :
Сложные типы вроде «корректный IP» ваша система типов в принципе не способно описать. На простых численных типах она тоже лажает.
Ну это, я бы сказал, не совсем объективные факты, это твое отношение к объективным фактам.
ip адрес вообще я бы представлял в виде класса, т.к. там постоянно нужно в/из строку/и перегонять и всякие проверки на принадлежность к подсети, например, и т.п. Но если ты хочешь простой тип (фундаметальный), ок, можешь взять uint32_t (елси мы про ipv4).
Ты сейчас тоже про невозможность представления результата сложения двух ip адресов скажешь? Только вот при маршрутизации арифметическая операция сложения не применяется, там битовые операции используют. И вот бы лепота какая была бы, если бы там на каждую операцию проверки были, ой, как бы быстро все работало-то.
Исправление rumgot, :
Сложные типы вроде «корректный IP» ваша система типов в принципе не способно описать. На простых численных типах она тоже лажает.
Ну это, я бы сказал, не совсем объективные факты, это твое отношение к объективным фактам.
ip адрес вообще я бы представлял в виде класса, т.к. там постоянно нужно в/из строку/и перегонять и всякие проверки на принадлежность к подсети, например, и т.п.. Но если ты хочешь простой тип (фундаметальный), ок, можешь взять uint32_t (елси мы про ipv4).
Ты сейчас тоже про невозможность представления результата сложения двух ip адресов скажешь? Только вот при маршрутизации арифметическая операция сложения не применяется, там битовые операции используют. И вот бы лепота какая была бы, если бы там на каждую операцию проверки были, ой, как бы быстро все работало-то.
Исходная версия rumgot, :
Сложные типы вроде «корректный IP» ваша система типов в принципе не способно описать. На простых численных типах она тоже лажает.
Ну это, я бы сказал, не совсем объективные факты, это твое отношение к объективным фактам.
ip адрес вообще я бы представлял в виде класса, т.к. там постоянно нужно в/из строку/и перегонять. Но если ты хочешь простой тип (фундаметальный), ок, можешь взять uint32_t (елси мы про ipv4).
Ты сейчас тоже про невозможность представления результата сложения двух ip адресов скажешь? Только вот при маршрутизации арифметическая операция сложения не применяется, там битовые операции используют. И вот бы лепота какая была бы, если бы там на каждую операцию проверки были, ой, как бы быстро все работало-то.