Re[9]: А С++ то схлопывается...
От: Pzz Россия https://github.com/alexpevzner
Дата: 04.11.19 12:58
Оценка: :)
Здравствуйте, so5team, Вы писали:

S>им видится и полэкрана кода, который ничего не делает, и, что еще важнее, проверки на каждом присваивании.


Тут и есть полэкрана кода. Там 12 строк, в стандартном экране их 24.

S>Конечно, заставь таких использовать основанные на шаблонах strong_typedef-ы, чтобы в программе в принципе нельзя было сложить метры с килограммами, и поднимится вой до небес о том, что программа превратилась в нечитаемое шаблонное месиво. И все это с громким битиём себя пяткой в грудь и обещаниями все-все ручками проверить.


Строгие typedef'ы можно даже и в C сделать:

typedef struct {int v;} distance;
typedef struct {int v;} weigh;


Арифметику будет делать неудобно (но не сильно хуже шаблонного месива), но метры с килограммами уже случайно не сложишь.

Но мне больше нравится, как в Go:
type int distance
type int weigh


И все, получилось два вполне полноценных целочисленных типа, которых, однако, нельзя без явного преобразования складывать между собой. Более того, к ним можно еще и методы приделать, в отличии от C++.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.