ideas icon indicating copy to clipboard operation
ideas copied to clipboard

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

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

Предложение - чтобы при указании какого-то флага компилятор (```-Wnoexcept-safe```, помощь в названии флага приветствуется) мог указывать, что в такой-то ```noexcept``` функции может быть вызвана функция, кидающая исключение. Часто, когда пишешь...

Предложение добавить атрибут для `default` метки, который будет выдавать warning если не все значения `enum` обработаны в `switch`. Конкретное имя для аттрибута - to be discussed, для примера назовём его...

Сделать enum чуть полезнее, чтобы можно было спокойно получать значение, зная какое значение имеет энумерат. Данная вещь будет полезна при создании обработчика событий браузера, написании игровых движков и там, где...

При выделение массив динамический способом, компилятор "знает" его размер, и хранить его где-то в любом случае. ``` int arr = new int[444]; // --> 444 где то в памяти хранится,...

Чтобы можно было использовать сразу ```cpp use(std::format("...", ...)); ``` вместо использования промежуточных переменных. ```cpp QString str; std::format_to(std::back_inserter(str), "...", ...); use(str); ```

Согласно стандарту, вызов `std::set_intersection` с output range, пересекающимся с input range, [приводит к неопределённому поведению](https://eel.is/c++draft/set.intersection#2), что делает невалидным код вроде: ```cpp // std::vector lhs, rhs; lhs.erase(std::set_intersection(lhs.begin(), lhs.end(), rhs.begin(), rhs.end(), lhs.begin()),...

**Кратко** Предлагается добавить в стандарт функцию, которая бы позволяла принудительно завершать время жизни локальной переменной, делая её недоступной для дальнейшего использования. Также предлагается реализовать _copy elision_ (или его аналог) для...

_Перенос предложения:_ голоса +6, -2 _Автор идеи:_ **Антон Полухин** @apolukhin std::tuple и std::pair отлично подходяд для обобщённого программирования, однако у них есть недостатки. Во первых, использующий их код сложно читать...

В работе

В стандарте есть свободные функции для работы с heap структурой данных: make_heap, push_heap, pop_heap. Предлагаю добавить класс с необходимом набором методов для работы со структурой, как например для flat_map, priority_queue,...

Да, можно сделать **вектор.resize(вектор.size() - N);**, но ведь тогда можно это делать и для последнего элемента, т.е. pop_back() становится ненужным. Но он есть и сильно упрощает код. И так же...