Информация об изменениях

Сообщение Re: Сишный каст - зло? от 28.07.2023 4:44

Изменено 28.07.2023 5:13 Alekzander

Re: Сишный каст - зло?
Здравствуйте, Marty, Вы писали:

M>Например, я убираю возможную знаковость у char переменной


Для чего? Любой практически полезный сценарий надо прописывать в явном виде, с if'ами, а не неявно через типопреобразование.

Если я правильно понял, тебе лень нормально написать bound checking, и ты заменил его кастами.
Re: Сишный каст - зло?
Здравствуйте, Marty, Вы писали:

M>Например, я убираю возможную знаковость у char переменной


Для чего? Любой практически полезный сценарий надо прописывать в явном виде, с if'ами, а не неявно через типопреобразование.

Если я правильно понял, тебе лень нормально написать bound checking, и ты заменил его кастами.

M>ОбсудиПохоливарим?


Я следую прямо противоположному правилу: кроме сишных кастов ничего не использовать, чтобы было меньше говнокода. Логика очень простая и железобетонная: ЛЮБОЙ КАСТ ЭТО СИТУАЦИЯ, КОГДА *ТЫ* ЗНАЕШЬ О НАСТОЯЩЕМ ТИПЕ, А КОМПИЛЯТОР — ПОЧЕМУ-ТО НЕТ. Таких ситуаций надо избегать, потому, что они говорят о неправильной архитектуре и/или неверно написанном коде. Есть, конечно, ситуации, когда имеешь дело с историческими артефактами типа WinAPI, но там и Си-каста хватает.