Постироничные идеи для ебаного C++


Channel's geo and language: not specified, not specified
Category: not specified



Channel's geo and language
not specified, not specified
Category
not specified
Statistics
Posts filter


struct foo {
int baz[];
}

struct bar;

namespace baz {
struct { void operator&=(auto&&) {} } foo;
}

int main() {
baz::foo &= [](bar* foo) -> int { return 1; };
{ return 1; } int (foo::* bar)[] =& foo::baz;
}

145 0 4 12 11

Согласно аксиомам практики программирования, любая программа может быть сколько-то сокращена и оптимизирована без потери функциональности; также любая программа содержит хотя бы одну ошибку.

Значит, любую программу можно сократить до программы из одной или нуля инструкций, которая при этом не работает.

Разработчики gcc и clang наперегонки ищут такую результирующию программу для любого исходного кода.

258 0 13 10 9





macro_rules! static_assert_eq_usize {
($lhs:expr, $rhs:expr) => {
const _: [(); $lhs] = [(); $rhs];
}
}

macro_rules! assert_layout {
{
$(
$t:ident (size = $size:expr, align = $align:expr) {
$($member:ident @ $offset:expr,)*
}
)*
} => {
$(
static_assert_eq_usize!($size, std::mem::size_of::());
static_assert_eq_usize!($align, std::mem::align_of::());
$(static_assert_eq_usize!($offset, std::mem::offset_of!($t, $member));)*
)*
}
}

#[repr(C)]
struct LogHeader {
magic: u64,
version: u64,
length: u64,
}

#[repr(C, packed(4))]
struct LogEntry {
timestamp: u32,
data: u64,
}

assert_layout! {
LogHeader (size = 24, align = 8) {
magic @ 0,
version @ 8,
length @ 16,
}
LogEntry (size = 12, align = 4) {
timestamp @ 0,
data @ 4,
}
}


%:define bitard bitand
%:define pidor bitor

if (a bitard a pidor b)




Video is unavailable for watching
Show in Telegram

461 1 12 5 17



Использовать PVS

(🥺https://pvs-studio.ru/ru/docs/warnings/v837/ эта штука ругается в том числе на insert который применяется к результату extract и на insert нескольких элементов через 2 итератора🥺)


на код-ревью жаловаться на магические числа под каждым использованием mt19937




Forward from: Ладно, сначала поучусь в ИТМО
Вы все ждали этого момента и его время пришло...


как вы могли догадаться, весь секрет в R"(: в C++ так обозначается начало литерала с кодом на Rust


/* /* */
#include
int main() {
fmt::println("Hello C++!");
auto _ = R"(*/
fn main() {
println!("Hello Rust!");
const _:&str = ")";
}
$ g++ -x c++ code.rspp -lfmt -o as-cxx && ./as-cxx
Hello C++!

$ rustc code.rspp -o as-rs && ./as-rs
Hello Rust!

588 1 13 27 13


690 0 9 10 15



Когда: 7 сентября 19:00
Где: Баланс Белого (Лиговский просп., 74, Санкт-Петербург, 191040 (этаж 2))

P.S. возьмите паспорта

876 0 17 9 15

Возможности, потерянные в fmtlib по дороге к стандартизации.

template
struct fmt::formatter: formatter {
using formatter::parse;
auto format(const std::optional& opt, format_context& ctx) const {
if (opt.has_value()) {
format_to(ctx.out(), "Some(");
this->formatter::format(opt value(), ctx);
return format_to(ctx.out(), ")");
} else {
return format_to(ctx.out(), "None");
}
}
};


#include
#include

int main() {
{
auto [low, high] = std::minmax({20, 10});
fmt::println("{} < {}", low, high);
}
{
auto [low, high] = std::minmax(20, 10);
fmt::println("{} < {}", low, high);
}
}

$ g++-14 minmax.cpp -O3 -lfmt -o minmax
$ ./minmax
10 < 20
0 < 0
$

20 last posts shown.

137

subscribers
Channel statistics