ideas
ideas copied to clipboard
Разбить stl классы по headers
Вместо того, что бы каждый раз искать какой 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
Сейчас комитет планирует сделать несколько иначе http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p2412r0.pdf
Идея в том, чтобы объединять с помощью модулей сразу множество хедеров. Например, сделать модуль std
, который содержит все сущности стандартной библиотеки.
Замеры показывают, что import std;
работает раз в 10 быстрее чем один только #include iostream
.
Итого, вместо разбивания на отдельные хедера или мучительного поиска нужного хедера, просто пишем import std;
На это лет 10 потребуется. А страдаем сейчас.