템플릿 코드의 코드 크기에 대해 궁금합니다. 내가 두 벡터의 인스턴스가있는 경우, 코드C++ 템플릿 - 코드 사용량, 바이너리 크기
template<typename T>
class vector
{
public:
vector(size_t size) :
{
array = NEW T[size];
}
uint32_t push_back(T value)
{
... adding value to array and possible array realloction..
}
private:
T * array;
}
다음 사항을 고려하십시오
vector<float> v1;
vector<int> v2;
이 두 push_back
구현
push_back(float)
push_back(int)
또는 하나 또는 뭔가 다른 이진 컴파일됩니다 ?
float
및 int
에 대해 분리 된 클래스 대신 템플릿을 사용하여 코드 크기를 다시 조정할 수 있습니까?
최적화를 사용하여 컴파일하고 맵 파일을 생성하십시오. 다른 컴파일러/링커는 일을 다르게 할 것입니다. –
컴파일러, 시스템, 최적화 수준 및 달주기에 따라 달라집니다. – user1810087
따라서 일반적인 규칙은 무엇입니까? GCC는 어떻습니까? –