Постироничные идеи для ебаного C++
Photo
#постироник_поясняет
https://youtu.be/_fu0gx-xseY?si=AHHplmoJ-xa4jKP6
Автор Гор Нишанов.
Horus латинская версия имени египетского бога Гора
https://youtu.be/_fu0gx-xseY?si=AHHplmoJ-xa4jKP6
Автор Гор Нишанов.
Horus латинская версия имени египетского бога Гора
YouTube
CppCon 2015: Gor Nishanov “C++ Coroutines - a negative overhead abstraction"
http://www.Cppcon.org
—
Presentation Slides, PDFs, Source Code and other presenter materials are available at: https://github.com/cppcon/cppcon2015
—
C++ coroutines are one of the few major features that may land in C++17. We will look at the current standardization…
—
Presentation Slides, PDFs, Source Code and other presenter materials are available at: https://github.com/cppcon/cppcon2015
—
C++ coroutines are one of the few major features that may land in C++17. We will look at the current standardization…
В C ключевое слово
В Фортране буква
fortran означает совместимую с Фортраном линковку.В Фортране буква
C в начале строки означает комментарий.😁9👍4
Известно, что
Также известно, что
Но как можно копировать владеемую строку с nothrow-гарантией?
Публичного такого класса в STL нет. (Раньше в libstdc++ была такая
std::runtime_error владеет строкой, которую копирует в себя при создании и вид на которую возвращает метод what().Также известно, что
std::runtime_error копируемый, причём конструктор копии и оператор присваивания копии у него noexcept, как и остальные методы. Если бы это было не так, std::runtime_error как часть механизма исключений был бы намного менее полезным.Но как можно копировать владеемую строку с nothrow-гарантией?
std::basic_string так не умеет. Реализации std::runtime_error вынуждены реализовать и хранить строку с подсчётом ссылок.Публичного такого класса в STL нет. (Раньше в libstdc++ была такая
std::string, но C++11 запретил такую реализацию.) Поэтому если вам для прикладных целей нужна иммутабельная строка с подсчётом ссылок, то:struct Refcount_str: private std::runtime_error {
using std::runtime_error::runtime_error;
using std::runtime_error::operator=;
~Refcount_str() override = default;
const char* c_str() const noexcept {
return what();
}
char operator[] (std::ptrdiff_t i) const noexcept {
return what()[i];
}
};🤣18
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 подписчика, следовательно не скоро, всех ждем.
Когда: предположительно 7-8 сентября
Где: предположительно Failover bar (4-я Советская улица, дом 7, Санкт-Петербург)
P.S: Возможно что-то поменяется, поэтому это сообщение будет апдейтиться.
P.P.S: Следующая сходка на 2003 подписчика, следовательно не скоро, всех ждем.
🔥8
Постироничные идеи для ебаного C++ pinned «Уважаемые подписчики этого паблика, в связи с достижением числа (или количества ?) подписчиков равного 98, анонсируем первую сходку! Когда: предположительно 7-8 сентября Где: предположительно Failover bar (4-я Советская улица, дом 7, Санкт-Петербург) P.S:…»
прийти на сходку
Anonymous Poll
30%
Strongly Favor
10%
Weakly Favor
26%
Neutral
0%
Weakly Against
34%
Strongly Against
#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");
}
}
};
😁5❤2
Постироничные идеи для ебаного C++
Уважаемые подписчики этого паблика, в связи с достижением числа (или количества ?) подписчиков равного 98, анонсируем первую сходку! Когда: предположительно 7-8 сентября Где: предположительно Failover bar (4-я Советская улица, дом 7, Санкт-Петербург) P.S:…
Когда: 7 сентября 19:00
Где: Баланс Белого (Лиговский просп., 74, Санкт-Петербург, 191040 (этаж 2))
P.S. возьмите паспорта
Где: Баланс Белого (Лиговский просп., 74, Санкт-Петербург, 191040 (этаж 2))
P.S. возьмите паспорта
👍14❤1
/* /* */
#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
Постироничные идеи для ебаного C++
/* /* */ #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 …
как вы могли догадаться, весь секрет в
R"(: в C++ так обозначается начало литерала с кодом на Rust🔥7🤩6