Ответ 1
Нет.
Собственно, даже Стандарт даже предписывает, что #include <map>
(например) может просто импортировать предварительно сохраненный АСТ и вообще не ссылаться на файл.
Нет.
Собственно, даже Стандарт даже предписывает, что #include <map>
(например) может просто импортировать предварительно сохраненный АСТ и вообще не ссылаться на файл.
Нет необходимости вообще в том, как реализуется стандартная библиотека С++ (или стандартная библиотека C). Все, что требуется библиотеке, - это реализовать документированный и указанный интерфейс. Как это делается, полностью зависит от реализации. Часть стандартных библиотек часто реализуется компилятором каким-то магическим способом, и в С++ 2011 существует несколько интерфейсов, которые на самом деле не могут быть реализованы с использованием стандартных языков С++ 2011! В первую очередь это верно для некоторых черт в <type_traits>
, но есть и другие вещи.
Только для справки: как реализуется С++ и что на самом деле означает соответствие стандарту, считается крайне неопределенным. Соответствующее предложение - 1.4 [intro.compliance]. Он просто говорит о том, что выдается диагностика и что должна делать программа, однако ограничение ограничений ресурсов.
Совсем нет, только интерфейс должен быть С++.