ideas
ideas copied to clipboard
Идеи по улучшению языка C++ для обсуждения
насколько мне известно, изначально для нужд стандартной библиотеки `rebind` был необходим только для аллокаторов. теперь, с грядущим приходом C++23 `rebind` будет необходим ещё и для `std::expected`. как мне кажется, плодить...
__ Уже есть возможность определять функцию для шаблонного класса, только если какое-то выражение удовлетворяет requires clause: ```cpp double get_sample() const requires requires (const T& t) { t.get_sample(); } { return...
Добавить манипулятор вывода чисел с плавающей точкой для компактного форматирования без потери точности и типа, существующие механизмы этого не позволяют (https://en.cppreference.com/w/cpp/io/manip): - `std::setprecision` низкоуровневая функция, в сочетании со стандартным форматированием...
а не хотят ли в много уважаемом комитете сделать подарок к С++26 и сделать initial_suspend() и final_suspend() опциональными честно говоря утомляет их постоянно писать когда их нет смысла использовать
Увидел пропозал в С++26 на auto _ которое бы заменялось на [[maybe_unused]] auto x и сгорело немного Кажется существуют способы гораздо лучше с точки зрения языка, которые решают сразу несколько...
**Идея** Предлагаю добавить функцию `operator[](size_t)` в класс std::tuple. Функция, в отличии от std::get, принимает аргумент - индекс значения. Это очень упростит пользовательский код т.к. постоянно набирать std::get(tuple) - жутко не...
Использование _std::make_unique()_ и _std::make_shared()_ может привести к киданию исключение _std::bad_alloc_, если памяти не достаточно. В таких случаях, необходимо использовать оператор _new_ с _std::nothrow_. ```C++ #include std::unique_ptr p = new(std::nothrow) T();...
В последние стандарты активно добавлялись вещи для оптимизации кода. Например, в C++20 были добавлены атрибуты _[[likely]]_, _[[unlikely]]_. В C++23 было добавлено атрибут _[[assume]]_, функция _std::unreachable()_. Одним из таких техник оптимизации...
Я хочу чтобы программы на языке С++ выполнялись быстрее, были безопасными и не допускали ошибок! Примеры мы можем увидеть в реализации таких языков как Rust, JavaScript. Код: ```rust fn main()...
_Разрешить shebang в C++ препроцессоре_ Пожалуй C++ один из немногих популярных языков программирования где компилятор всё ещё запрещает shebang. В итоге на C++ проектах можно увидеть целый зоопарк разных скриптов...