ideas
ideas copied to clipboard
Идеи по улучшению языка C++ для обсуждения
Неотъемлемой частью языка являются указатели. Использование указателей несет некоторые проблемы, в частности: разименование нулевого указателя, работа с нулевым указателями ссылающиеся на поля объекта, и т.д. Как результат имеем segmentation fault,...
Надоело копипастить это в каждый свой проект, хочется стандартизировать `std::noncopyable` За эталон можно взять non copyable из CatBoost - https://github.com/catboost/catboost/blob/master/util/generic/noncopyable.h (можно еще `std::move_only`) Есть еще `boost::noncopyable` - https://github.com/boostorg/core/blob/develop/include/boost/core/noncopyable.hpp Поискал, вроде...
_Перенос предложения:_ голоса +13, -0 _Автор идеи:_ **Андрей Марцинкевич** В общем мы имеем std::make_unique, но почему то не имеем std::allocate_unique для работы с кастомными аллокаторами. Ибо инициализировать сейчас unique_ptr для...
__ Для бенчмаркинга используют функции clobber и escape (https://youtu.be/nXaxk27zwlk?t=2441). В актуальном google benchmark это функции Clobber и DoNotOptimize. Если Clobber получил адекватную реализацию с с++11 через atomic_signal_fence, то DoNotOptimize все...
В С++ возникла проблема отслеживания лайфтаймов и особенно сильно она проявляется в корутинах, где недостаточно умный компилятор не может оптимизировать аллокацию. Моя идея поможет с этими проблемами и вроде довольно...
Нужна возможность кастомизации выкидывания исключения. Обсуждение доступно по ссылке https://habr.com/ru/company/yandex/blog/649497/#comment_24051655 В идеале, нужна кастомизация, позволяющая превращать коды ошибок в исключения. Черновой интерфейс: ```cpp struct throw_bad_expected_acess { template [[noreturn]] void operator()(E&&...
Сборщик мусора либо помечать участки не используемой памяти, чтобы избежать memory leak.
Предлагаю добавить несколько математических функций: • `void std::sincos(double arg, double& sin, double& cos)`, `std::sincos_t std::sincos(double arg)`, `struct sincos_t { double sin, cos; }` (а также sincosf, sincosl) — вычисление синуса...
Мотивация частично описана тут: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p0957r6.pdf И тут : https://github.com/kelbon/AnyAny Если очень кратко - текущие инструменты динамического полиморфизма недостаточны : виртуальные функции и код, который с ними получается, не отражает реальных...
This conversion verifies incoming integer value against enum or enum class. Purpose: Type-safe deserialization. If we had an enum type, that implements some external specification, we would perform a complicated...