Постироничные идеи для ебаного C++
321 subscribers
51 photos
1 video
2 files
20 links
Download Telegram
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);
};
#define sptr std::shared_ptr
👍21
void foo(std::any input) {
if (typeid(input) == typeid(CURL*)) {
...
}
}
Forwarded from Bitway
🔥12👍2💋1
#анонсы

Компиляторы. Хардкор. Compiler Meetup
Исследуем TypeScript и синтез ускорителей — 20 февраля в 17:00 по Москве.

Приглашаем вас на митап от сообщества C++ Russia. Участвовать можно онлайн или офлайн в Санкт-Петербурге.

В программе:

— Независимый эксперт Иван Тюляндин расскажет о спорных решениях в TypeScript и покажет особенности переноса стандартной библиотеки на статический язык.

Петр Советов из РТУ МИРЭА приглашает изучить автоматизацию синтеза архитектуры ускорителей и инструментального ПО. В докладе также будут разговор о перспективах и алгоритмы с примерами кода.

Начало — 20 февраля в 17:00 по Москве. Офлайн-участников ждем заранее — к 16:30.

Для участия нужно зарегистрироваться. 

Участвовать онлайн
Участвовать офлайн

До начала митапа мы пришлем вам на почту памятку офлайн-участника или ссылку на трансляцию.

Добавляйте событие в календарь, чтобы ничего не пропустить.
🤡3
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
Forwarded from greg
int _[1]{};
++[&_](){return _[([](){return 0;}())];}()[_];