|
|
|
|
|
by MaxBarraclough
2184 days ago
|
|
You still have the option of introducing new types, even there. In Ada, the programmer is discouraged from using the Ada equivalent of int directly, and is encouraged to instead introduce a subtype that reflects the specific use of int (including automatic range checking). This isn't as natural in C++ but is still possible. Boost offers a BOOST_STRONG_TYPEDEF [0] to deliberately introduce an incompatible type. (I do recall having trouble getting it to behave, but it's been a while.) Whether this makes sense in most mathematical code, I'm not sure, but it seems like it's an option. [0] https://www.boost.org/doc/libs/1_73_0/boost/serialization/st... |
|
[0] https://github.com/nholthaus/units
[1] https://github.com/mpusz/units