И что вы делаете, чтобы обозначить, что int
является недействительным? -1 является допустимым значением для int. Эти типы не имеют обозначенных «недопустимых» значений. Вы можете решить выбрать определенное значение (которое обычно не может быть значением того, что представляет ваша переменная), чтобы представлять недопустимое значение, но это ваше собственное определение, а не то, что люди обычно используют.
Лично мне не нравится этот способ. Я предпочитаю создать другую переменную, bool IsValid
, которая скажет, является ли значение этой переменной size_t допустимым. Иногда может быть даже лучше создать класс для их инкапсуляции.