Альтернативный синтаксис массива С++
Как я могу по иному написать операторы [] и {}?
Ответы (2 шт):
В стандарте С++ объясняется так -
Alternative token representations are provided for some operators and punctuators.
In all respects of the language, each alternative token behaves the same, respectively, as its primary token, except for its spelling
Значит, int a1[2] = {4, 3}; эквивалентно int a2<:2:> = <% 4, 3 %>;
Также cout << a2[1] << endl; эквивалентно cout << a2<:1:> << endl;
То есть, <% %> равняется { } и <: :> равняется [ ]
Не могу пока оставлять комментариев, потому напишу ответ: диграфы и триграфы использовались в ситуации, когда клавиатура не имела нужных символов (ISO 646). Триграфы уже не поддерживаются, диграфы все еще с нами.
https://stackoverflow.com/questions/432443/why-are-there-digraphs-in-c-and-c