ideas icon indicating copy to clipboard operation
ideas copied to clipboard

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

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

# 1. Abstract Предлагается добавить для контейнеров `map` (`multimap`) и `set` (`multiset`) два метода: - `first`/`min`/`front`: Получить первый элемент у `set` или первую пару ключ-значение у `map`. Этот элемент или...

Язык позволяет давать имена параметрам, передаваемым функции, отчего достаточно в IDE навести курсор на функцию и увидеть их. Но, чтобы узнать что она возвращает, надо лезть в код функции или...

Копируем последний элемент вектора на место удаляемого и сдвигаем указатель конца на один элемент. Можно назвать что-то типа **erase_unordered**.

У вектора с помощью **erase** можно удалить элемент или диапазон. Но странно, что нет возможности удалить всё, кроме этого диапазона. Мне пришлось вручную удалять спереди и сзади от нужного диапазона....

Обертка для типа, аннулирующая действие const. Бывают случаи, когда хочется иметь константный контейнер с мутабельными элементами. Например, в многопоточном коде можно зафиксировать множество элементов с помощью добавления const к контейнеру,...

В C99 Существуют [массивы](https://en.cppreference.com/w/c/language/array) переменной длины (variable-length arrays), которые могут быть использованы в качестве локальных переменных. Память под них выделяется динамически со стека. [GCC](https://gcc.gnu.org/onlinedocs/gcc/Variable-Length.html) позволяет также использовать такие массивы в...

## Предложение Предположим, у нас есть структура ```B```, которая содержит поле типа ```A```: ```cpp struct A { int x; int y; }; struct B { A a; int z; }...

`auto` с нами в языке давно и с C++11 оно глубоко укоренилось в языке: дать пользователю возможность вывести тип для своей переменной — так, как это происходит в шаблонах, оказалось...

__ Предлагается добавить возможность указывать размер SSO буфера для std::string. Добавить можно дополнительным шаблонным параметром. Т.к. у компиляторов уже есть какие-то реализации, дефолтное значение можно оставить implementation-defined, что позволит не...

Макросы препроцессора являются важной частью С++ и попытка отказаться от них, например для поддержки С++ модулей, приведет к нарушению обратной совместимости со старым кодом и нарушит многие способы (опции) компиляции...