Постироничные идеи для ебаного C++ – Telegram
Постироничные идеи для ебаного C++
318 subscribers
51 photos
1 video
2 files
20 links
Download Telegram
auto mymalloc(std::size_t sz) -> void* {
return ::operator new(sz, std::nothrow);
}
🔥7
Уважаемые подписчики этого паблика, в связи с достижением числа (или количества ?) подписчиков равного 98, анонсируем первую сходку!
Когда: предположительно 7-8 сентября
Где: предположительно Failover bar (4-я Советская улица, дом 7, Санкт-Петербург)

P.S: Возможно что-то поменяется, поэтому это сообщение будет апдейтиться.
P.P.S: Следующая сходка на 2003 подписчика, следовательно не скоро, всех ждем.
🔥8
Постироничные идеи для ебаного C++ pinned «Уважаемые подписчики этого паблика, в связи с достижением числа (или количества ?) подписчиков равного 98, анонсируем первую сходку! Когда: предположительно 7-8 сентября Где: предположительно Failover bar (4-я Советская улица, дом 7, Санкт-Петербург) P.S:…»
#include <algorithm>
#include <fmt/format.h>

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
$
🥴6👏1😁1
Возможности, потерянные в fmtlib по дороге к стандартизации.

template<typename T>
struct fmt::formatter<std::optional<T>>: formatter<T> {
using formatter<T>::parse;
auto format(const std::optional<T>& opt, format_context& ctx) const {
if (opt.has_value()) {
format_to(ctx.out(), "Some(");
this->formatter<T>::format(opt value(), ctx);
return format_to(ctx.out(), ")");
} else {
return format_to(ctx.out(), "None");
}
}
};
😁52
/* /* */
#include <fmt/core.h>
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!
😁11🥰5👍2
Forwarded from Ладно, посмотрим куда приведет меня жизнь
Вы все ждали этого момента и его время пришло...
🔥10😁7🍓2
на код-ревью жаловаться на магические числа под каждым использованием mt19937
❤‍🔥22
Использовать PVS

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

if (a bitard a pidor b) <%
    auto greet = <:bitard:>(auto and n) <%
cout << n << a << endl;
%>;
    greet("Anon");
%>
👍5
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::<$t>());
static_assert_eq_usize!($align, std::mem::align_of::<$t>());
$(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,
}
}
🏆3😁2