||
на самом деле не означает "или", обычно это означает "логическое значение или", или, скорее, это логическое значение или оператор.Операторы оперируют значениями, полученными в результате вычисления выражений, его операндами.Операции и операнды вместе также образуют выражения, которые затем могут использоваться как операнды с другими операторами для формирования дальнейших выражений и т. Д.
Сопоставление с образцом с другой стороны оценивает шаблоны, которые не являются ни логическими, ни выражениями.Хотя шаблоны в некотором смысле оцениваются как истинные или ложные, если они применяются к значению или скорее сопоставляются с ним, они не оценивают что-либо самостоятельно.В этом смысле они больше похожи на операторы, чем на операнды.Кроме того, результатом сопоставления с шаблоном является не только логическое значение, но и набор привязок.
Использование ||
вместо |
с шаблонами может привести к перегрузке его значения и послужит большей путаницей, чемуточнить я думаю.