Хотя я не могу сказать что-то определенное о внутреннем мире PCH,
что касается единства,
даже если vector<int>
полностью создан в PCH,
Я думаю, что построение единства все еще имеет некоторое преимущество.
Как вы, возможно, знаете, C ++ должен соблюдать правило одного определения (ODR).
Линкер должен объединить определения шаблона, разбросанные в каждом объектном файле, в
один.
То есть, грубо говоря, C ++ должен делать следующее:
- Создание шаблонов
- Запись объектного файла
- Перечитать объектный файл для ссылки
- Разрешить ODR
Сборки Unity позволяют в определенной степени сохранить вышеуказанную нагрузку.
Тем не менее, я не могу сказать, что вышеупомянутая экономия превзойдет сборник не-единства
система с PCH в вашей среде.