ideas icon indicating copy to clipboard operation
ideas copied to clipboard

Идеи по улучшению языка C++ для обсуждения

Results 158 ideas issues
Sort by recently updated
recently updated
newest added

__ Не хватает функции, которая за один проход сливает две неубывающих последовательности в строго возрастающую __ Базовый алгоритм __ ``` template OutputIterator merge_unique(InputIterator1 first1, InputIterator1 last1, InputIterator2 first2, InputIterator2 last2,...

При написании библиотек периодически сталкиваюсь с задачей обращения к экземпляру типа внутри std::tuple по индексу в runtime. Готового решения нет, есть std::apply, который передаёт сразу все экземпляры в функтор в...

Вся суть проблемы с релоцированием объектов заключается в том, что компилятору неизвестно каким образом происходит мув и из кода невозможно узнать (помимо trivial мува) каково поведение типа. Но если посмотреть...

Добавить перегрузки к методам std::any_of, all_of, none_of, которые примают значение в качестве референса. Метод std::find имеет такую перегрузку ``` template< class InputIt, class T > constexpr InputIt find( InputIt first,...

Разрешить предварительное описание методов, не описывая весь класс. Использовать вместо pimpl. // h-файл ``` class foo; int foo::bar() const; ``` // cpp-файл ``` class foo { public: int bar() const...

Вмержить в стандарт `boost::core::demangle`, т.к. на данный момент нет какого-либо стандартного способа получить человекочитаемое имя из `typeid(T).name()`. Достаточно удобно при отладке шаблонов использовать в логах `type_info`, но без библиотеки boost...

Как известно, у MSVS есть такой визуализатор пользовательских типов [natvis](https://learn.microsoft.com/en-us/visualstudio/debugger/create-custom-views-of-native-objects?source=recommendations&view=vs-2022) Он отчасти хорош, но не всегда и не всё позволяет (по моему опыту). Например, он не позволяет вызывать функции из...

_Запуск программы с контролем выполнения_ _Часто возникают задачи для запуска внешних программ, где std::system уже недостаточно_ - Нужно контроллировать поток ввода-вывода - Контроллировать код возврата - Переменные среды и аргументы...

В языке существует особенность, которая проявляется при реализации паттерна Adapter (Proxy, Wrapper). Простейшая реализация Proxy, который агрегирует значение и при преобразовании к типу вложенного значения сохраняет свойства rvalue/lvalue и контантность,...

Мне нужно было реализовать FSM на шаблонах, описывается таблица переходом, из неё извлекаются все типы состояний и для хранения текущего состояния я взял std::veriant, он идеально подходит для этого. Во...