Я был знаком с C++ и теперь просматриваю шаблоны и столкнулся с этим вопросом.Код заголовка C++ с шаблоном
Если тип шаблона требует другого класса, будет ли конкретное требование заголовка включать порядок?
vector<string> stringVector;
Как это: мы должны включать string
до vector
?
Я читал это (C++ Header order), и он говорит, что заголовочные файлы должны быть включены в порядок требований к классу.
Однако, как это (Template Compilation) указывает на то, или, если это мое недоразумение, «компилятор генерирует код для конкретных типов данных в шаблоне класса экземпляра», и я думаю, что это означает, что, когда мы инстанцировании stringVector
, компилятор уже включен string
заголовок, поэтому не должно быть «vector
здесь string
требуется».
Итак, какая интерпретация правильная, и какая часть моей интерпретации правильная или неправильная? Благодарю.
спасибо за завершение :) Важно, что «если кто-то должен это делать, программа не написана чистым способом». – Janis