Часовое значение - это просто значение, которое не может быть действительным.
Если мой домен ограничен положительными ненулевыми числами, ноль может быть часовым.
Если мой домен ограничен положительными числами, для которых в противном случае я использовал бы целое число без знака, яможет использовать целое число со знаком и отрицательное число в качестве дозорного.(Конечно, я теряю верхнюю половину диапазона unsigned, чтобы сделать это.)
Если я использую указатель для указания значения, нулевой указатель может быть часовым.
Если я использую c-строку, которая является указателем (или массивом, который распадается на указатель), я могу использовать нулевой указатель или, в некоторых случаях, указать на (char) 0
(«пустая строка»)), как страж.
Часовой - это просто значение, которое ваши действительные данные никогда не смогут принять.Поскольку его нельзя принять за действительное значение, ваш код может сделать «что-то особенное», когда он увидит значение часового, что-то отличное от обычной обработки, которую он будет выполнять для действительного значения.