Forwarded from I/ivan
#define move(x) (*(new decltype(x)(x)))
😈3🤯1
void foo(int x) {
if (x)
my_label:
switch (x)
case 1:
case 2:
default:
std::puts("gram.stmt");
}😁4
auto walk = [&](int i, int c, auto &&walk) {
...
walk(input[i], c, walk);
};void foo(std::any input) {
if (typeid(input) == typeid(CURL*)) {
...
}
}Forwarded from C++ Russia — канал конференции
#анонсы
Компиляторы. Хардкор. Compiler Meetup
Исследуем TypeScript и синтез ускорителей — 20 февраля в 17:00 по Москве.
Приглашаем вас на митап от сообщества C++ Russia. Участвовать можно онлайн или офлайн в Санкт-Петербурге.
В программе:
— Независимый эксперт Иван Тюляндин расскажет о спорных решениях в TypeScript и покажет особенности переноса стандартной библиотеки на статический язык.
— Петр Советов из РТУ МИРЭА приглашает изучить автоматизацию синтеза архитектуры ускорителей и инструментального ПО. В докладе также будут разговор о перспективах и алгоритмы с примерами кода.
Начало — 20 февраля в 17:00 по Москве. Офлайн-участников ждем заранее — к 16:30.
Для участия нужно зарегистрироваться.
— Участвовать онлайн
— Участвовать офлайн
До начала митапа мы пришлем вам на почту памятку офлайн-участника или ссылку на трансляцию.
Добавляйте событие в календарь, чтобы ничего не пропустить.
Компиляторы. Хардкор. Compiler Meetup
Исследуем TypeScript и синтез ускорителей — 20 февраля в 17:00 по Москве.
Приглашаем вас на митап от сообщества C++ Russia. Участвовать можно онлайн или офлайн в Санкт-Петербурге.
В программе:
— Независимый эксперт Иван Тюляндин расскажет о спорных решениях в TypeScript и покажет особенности переноса стандартной библиотеки на статический язык.
— Петр Советов из РТУ МИРЭА приглашает изучить автоматизацию синтеза архитектуры ускорителей и инструментального ПО. В докладе также будут разговор о перспективах и алгоритмы с примерами кода.
Начало — 20 февраля в 17:00 по Москве. Офлайн-участников ждем заранее — к 16:30.
Для участия нужно зарегистрироваться.
— Участвовать онлайн
— Участвовать офлайн
До начала митапа мы пришлем вам на почту памятку офлайн-участника или ссылку на трансляцию.
Добавляйте событие в календарь, чтобы ничего не пропустить.
🤡3
Постироничные идеи для ебаного C++
#define def decltype(auto) def sum(int a, int b) { return a+b; }
#define def auto
def sum(int a, int b) -> int {
return a+b;
}
def sum(any a, any b) -> any {
return a+b;
}
def main() -> int {
cout << sum((char *)"123", 456) << endl;
cout << sum(123, 456) << endl;
}$ g++ test.cpp -o test
$ ./test
123456
579
✍5😁5
Forwarded from Deleted Account
macro_rules! unbracket {
(_ [$($tt1:tt)*]) => { $($tt1)* };
(() [$($tt1:tt)*]) => { ($($tt1)*) };
([] [$($tt1:tt)*]) => { [$($tt1)*] };
({} [$($tt1:tt)*]) => { {$($tt1)*} };
($tt0:tt [$($tt1:tt)*] @unbracket ($($tt2:tt)*) $($tt3:tt)*) => { unbracket!{ $tt0 [$($tt1)* $($tt2)*] $($tt3)*} };
($tt0:tt [$($tt1:tt)*] @unbracket [$($tt2:tt)*] $($tt3:tt)*) => { unbracket!{ $tt0 [$($tt1)* $($tt2)*] $($tt3)*} };
($tt0:tt [$($tt1:tt)*] @unbracket {$($tt2:tt)*} $($tt3:tt)*) => { unbracket!{ $tt0 [$($tt1)* $($tt2)*] $($tt3)*} };
($tt0:tt [$($tt1:tt)*] $tt2:tt $($tt3:tt)*) => { unbracket!{$tt0 [$($tt1)* $tt2] $($tt3)*} };
}🔥1
template<typename... Ts>
struct Enum: std::variant<Ts...> {
using std::variant<Ts...>::variant;
template<typename... Fs>
decltype(auto) match(this auto&& self, Fs&&... fs) {
struct Visitor: Fs... { using Fs::operator()...; };
return std::visit(Visitor{ std::forward<Fs>(fs)... }, self);
}
};
std::string foo(Enum<int, void*, long, double> e) {
return e.match(
[] (int i) { return std::format("Got int {}", i); },
[] (double d) { return std::format("Got double {}", d); },
[] (auto&&) { return std::string("Got something else"); }
);
}
🔥3
int arr[4];
arr[
[] { return 0; } ()
] = 1;
int arr[1];
[](){return 0;}()[arr] = 1;
это компилируется🥴1
Постироничные идеи для ебаного C++
int arr[4]; arr[ [] { return 0; } () ] = 1;
switch(i) {
case 0: [
[fallthrough]
];
case 1:;
}Forwarded from greg
int _[1]{};
++[&_](){return _[([](){return 0;}())];}()[_];