cpp-ru / ideas

Идеи по улучшению языка C++ для обсуждения
https://cpp-ru.github.io/proposals
Creative Commons Zero v1.0 Universal
89 stars 0 forks source link

Разбить stl классы по headers #480

Open olegpublicprofile opened 2 years ago

olegpublicprofile commented 2 years ago

Вместо того, что бы каждый раз искать какой header нужно подключить нужно открывать С++ документацию и смотреть в каком header находится STL класс. Пример Qt библиотека, там каждый класс в отдельном header и легко понять какой header нужно добавить в include

Например :

#include <utility>

int main()
{
    std::pair<int, int> pair;
    return 0;
}
#include <pair>

int main()
{
    std::pair<int, int> pair;
    return 0;
}

Возможная реализация: https://github.com/olegpublicprofile/stdeasy

apolukhin commented 2 years ago

Сейчас комитет планирует сделать несколько иначе http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p2412r0.pdf

Идея в том, чтобы объединять с помощью модулей сразу множество хедеров. Например, сделать модуль std, который содержит все сущности стандартной библиотеки.

Замеры показывают, что import std; работает раз в 10 быстрее чем один только #include iostream.

Итого, вместо разбивания на отдельные хедера или мучительного поиска нужного хедера, просто пишем import std;

maksimus1210 commented 2 years ago

На это лет 10 потребуется. А страдаем сейчас.