Возможный дубликат:
Почему существуют диграфы в C и C ++?
При чем тут С ??! ??! оператор делать ?!
В C ++ есть альтернативные токены для [] и {}, среди прочих.
Например. компилируется следующий код:
%:include <stdio.h>
int main() <%
printf("Hello World!");
}
Я думал об этом некоторое время, но не мог понять какую-либо применимость, есть ли логическая причина для этого?
Они действительно похмелье от Си. Существовали реализации C, в которых были доступны не все символы (например, некоторые варианты EBCDIC, которые не имеют квадратных скобок).
Обоснование документа C99, раздел 5.2.1.1 Trigraph sequences
имеет это сказать:
Последовательности триграфа были введены в C89 как альтернативное написание некоторых символов, чтобы позволить реализацию C в наборах символов, которые не обеспечивают достаточное количество неалфавитной графики.
Символы в репертуаре ASCII, используемые C и отсутствующие в инвариантном репертуаре ISO / IEC 646,
#
,[
,]
,{
,}
,\
,|
,~
, а также^
Других решений пока нет …