Я сделал некоторый бит, переключающий C# на нижний регистр. Приложение должно было нормализовать речевой аудиовход который requiered несколько математических операций на уровне аудиосэмпла.
Возможно ((size_t) -1)
?
Строго говоря, это допустимый размер, но как только он у вас есть, вы другие вряд ли понадобятся; -)
Если вы говорите о std :: string, то недопустимым значением size_t будет std :: string :: npos. Обычно вы не должны использовать -1, потому что size_t не имеет знака, и вы можете получить неудачные сравнения на компиляторе, выполняющем неявные преобразования между типами.
При этом npos std :: strings установлен в 0XFFFFFFFFFFFFFFFF ... что является двоичный эквивалент -1. Он также оценивает максимально допустимое значение для беззнакового поля size_t.
И что вы делаете, чтобы обозначить, что int
недействителен? -1 - допустимое значение для int. Эти типы не имеют обозначенных «недопустимых» значений. Вы можете выбрать определенное значение (которое обычно никогда не может быть значением того, что представляет ваша переменная) для представления недопустимого значения, но это ваше собственное определение, а не то, что люди обычно используют.
Лично я не знаю Мне так не нравится. Я предпочитаю создать другую переменную, bool IsValid
, которая скажет, действительно ли значение этой переменной size_t. Иногда может быть даже лучше создать класс для их инкапсуляции.
В принципе, нельзя. Какое бы значение вы ни использовали, оно может быть допустимым. Лучше передать флаг о том, что он недействителен.