cpp-ru / ideas

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

Стандартизировать вложенный включение стандартные библиотеки #428

Closed apolukhin closed 3 years ago

apolukhin commented 3 years ago

Перенос предложения: голоса +??, -?? Автор идеи: ??

Моя идея, каждого стандартную библиотеку указать какие другие библиотеки они "должны" включить, как минимум.

Например, тот же -- зависят по каким другим библиотекам, надо точно указать .

Либо, C++17 -- -- Здесь мне интересно , что, это библиотека включает у себя или нет?

У std::string_view нет прямую зависимости std::string.

Например, у boost/utility/string_view.hpp (1.69 ) включает , , , , и ряд других стандартные библиотеки.

apolukhin commented 3 years ago

yndx-antoshkka, 1 апреля 2019, 12:51

Это описано в стандарте, но несколько в иной форме: каждый заголовочный файл содержит только то, что непосредственно в нём описано. Всё что "приезжает" в единицу трансляции помимо этого - платформо специфично и на это нельзя полагаться.

Другими словами, подключая вы можете "бонусом" получить , но при этом на другом компиляторе/платформе может вам не подключиться, при подключении . Так что если вам нужно что-то из - лучше его явно подключить, и не надеяться на то, что подтянет .