Re[10]: Откуда эта лютая любовь к знаковым целым?
От: Евгений Музыченко Франция https://software.muzychenko.net/ru
Дата: 06.05.20 04:03
Оценка:
Здравствуйте, Homunculus, Вы писали:

H>Каждый раз перед обращением к выбранному должно проверяться — а есть ли выбранный.


Тогда, повторю, любое спецзначение, заведомо отличное от валидного индекса, можно использовать для обозначения отсутствия выбора.

H>Потому что индекс может быть равен 65525. Ну чисто так, по логике. Может же? Может. Только вот это будет битый индекс.

H>А "-1" он не может быть равен никак.

Да почему не может-то? Отрицательные индексы допустимы по правилам C/C++. А если индекс хранится в 16-разрядной переменной, то 65525 полностью эквивалентно -11.

H>если ты забьешь невалидное значение именно как max_unsigned_short, например, то при смене размерности массива до long — ты огребешь проблем.


Чтобы не огрести проблем, очевидно же, что разрядность индекса (а не размерность массива) должна определяться рядом со спецзначением "не выбрано". Вообще, любые связанные параметры должны определяться рядом.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.