Подумайте, что такое шаблон реального мира - это не фактическая вещь, а указания о том, как создавать реальные вещи.
В случае шаблонов C ++ заголовочный файл не содержитфактический, например, «вектор», но инструкции о том, как построить vector
.Каждый раз, когда мы создаем исходный файл #include
s <vector>
, компилятор должен создавать новый код vector
, возможно, несколько раз, если мы создаем vector
s с различными параметрами шаблона.
сборка каждого исходного файла является независимой и не знает, если вы уже собрали vector
для другого исходного файла, поэтому каждый раз он создает новый.