Имеются, потому что концепцию лайфтаймов нужно было сразу тщательно продумывать и делать явной. Но во времена C/C++ это скорее фантастика.
Не исключаю, но никогда не сталкивался, можно пример?
Приходим к типам. Когда в типах описываешь намерение, ошибки в бизнес-логике отлавливаться настолько проще, что в большинстве случаев даже банальны (уже не говоря о том, что их во время исполнения просто меньше, чем если бы мы не думали о типах)
> Но во времена C/C++ это скорее фантастика.
я думаю, это не абсолютное добро, поэтому и так сойдёт. А вот сейф-ансейф было бы хорошо добавить
>Не исключаю, но никогда не сталкивался, можно пример?
пока нет, увижу - скину
типы типам рознь. Полиморфизм подтипов тоже защищает от багов. Проверки инвариантов тоже. Ещё можно констреинты в темплейтах и дженериках вешать. Но это не защитит от всего
Насчёт того, что ошибки в логике отлавливаются проще - вот не сказал бы. При сериализации/десериализации, например, запросто можно поблуждать