Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Обертка над стандартными типами данных(char, int, double и т.д.) #45

Open
Neargye opened this issue Mar 13, 2021 · 1 comment

Comments

@Neargye
Copy link
Member

Neargye commented Mar 13, 2021

Перенос предложения: голоса +2, -5
Автор идеи: Nikola_g

Суть проблемы заключается в следующим. В компании, в которой я работаю в основном решаются математические задачи и часто при их решении возникают непредвиденные ситуации. К ним относятся деления на ноль, результат вычисления равен inf или nan, бывает, что происходит переполнения. Так же по незнанию программисты берут на строгое равенство переменные с плавающий точкой. Для решении данной проблемы были написаны несколько классов (ссылка на репозитарий https://github.com/GhostPastR/TestMyLibs/tree/master/libs/system/NType). Возможно ли внести в стандартную библиотеку что-нибудь аналогичное. В C# и Java стандартные типы оформлены виде классов со своими методами.

@Neargye
Copy link
Member Author

Neargye commented Mar 13, 2021

alekseyvladimirovich 9 декабря 2020, 21:38
Таких классов в C++ нет и это правильно. Все непредвиденные ситуации вы всё равно не отловите, а скорость вычислений резко упадёт. Да и непонятно, какую ситуацию считать непредвиденной. Вычисление 1e30+1 - это непредвиденная ситуация или так должно быть? А 1e30+1-1e30? Такие классы дадут ложную иллюзию защищённости, не решая серьёзных проблем

Nikola_g 11 декабря 2020, 18:08
alekseyvladimirovich, Кто вам сказал заменить? Где это написано? Там сказано добавить, кто вам запрешает испозовать стандартные типы? Видно вы не работали с математическими задачами, которые мы встречаемся каждый день. С помощью такой обёртки были отловлены многи ошибки с не корректным вычислением.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant