CXX95 Telegram 10
#creepy

Alternative operator representations (диграфы)

Когда-то давным-давно на свете существовали странные кодировки, в которых не существовало базовых символов.

Например, кодировка для немецкого языка DIN 66003, бывшая в использовании с 1974 по 1999 годы. Она была создана прямой заменой символов [\]{|}~ на ÄÖÜäöüß, которых нет в ASCII. Получилось очень круто - никому не нужные скобочки заменили на буквы алфавита.

Чтобы юзеры кодировки смогли программировать на C++, была реализована гениальная схема - в языке вместо {, }, [, ], # можно писать соответственно <%, %>, <:, :>, %:, %:%:.

Вместе с заменой && на and, != на not_eq, etc. получился код, который можно скомпилировать и сейчас:

int main(int argc, char* argv<::>) 
<%
// lambda with reference-capture:
auto greet = <:bitand:>(const char* name)
<%
std::cout << "Hello " << name
<< " from " << argv<:0:> << '\n';
%>;

if (argc > 1 and argv<:1:> not_eq nullptr) <%
greet(argv<:1:>);
%> else <%
greet("Anon");
%>
%>

Также для прикола были сделаны триграфы - можно вместо { писать ??<, вместо [ писать ??(, и так далее.
😁3👍1



tgoop.com/cxx95/10
Create:
Last Update:

#creepy

Alternative operator representations (диграфы)

Когда-то давным-давно на свете существовали странные кодировки, в которых не существовало базовых символов.

Например, кодировка для немецкого языка DIN 66003, бывшая в использовании с 1974 по 1999 годы. Она была создана прямой заменой символов [\]{|}~ на ÄÖÜäöüß, которых нет в ASCII. Получилось очень круто - никому не нужные скобочки заменили на буквы алфавита.

Чтобы юзеры кодировки смогли программировать на C++, была реализована гениальная схема - в языке вместо {, }, [, ], # можно писать соответственно <%, %>, <:, :>, %:, %:%:.

Вместе с заменой && на and, != на not_eq, etc. получился код, который можно скомпилировать и сейчас:

int main(int argc, char* argv<::>) 
<%
// lambda with reference-capture:
auto greet = <:bitand:>(const char* name)
<%
std::cout << "Hello " << name
<< " from " << argv<:0:> << '\n';
%>;

if (argc > 1 and argv<:1:> not_eq nullptr) <%
greet(argv<:1:>);
%> else <%
greet("Anon");
%>
%>

Также для прикола были сделаны триграфы - можно вместо { писать ??<, вместо [ писать ??(, и так далее.

BY C++95


Share with your friend now:
tgoop.com/cxx95/10

View MORE
Open in Telegram


Telegram News

Date: |

Telegram offers a powerful toolset that allows businesses to create and manage channels, groups, and bots to broadcast messages, engage in conversations, and offer reliable customer support via bots. Today, we will address Telegram channels and how to use them for maximum benefit. “Hey degen, are you stressed? Just let it all out,” he wrote, along with a link to join the group. Ng Man-ho, a 27-year-old computer technician, was convicted last month of seven counts of incitement charges after he made use of the 100,000-member Chinese-language channel that he runs and manages to post "seditious messages," which had been shut down since August 2020. bank east asia october 20 kowloon
from us


Telegram C++95
FROM American