テンプレートコードのコードサイズについては疑問があります。 私は2つのベクトルのインスタンスを持っている場合は、C++テンプレート - コードの使用法、バイナリのサイズ
vector<float> v1;
vector<int> v2;
は、2つのpush_back
実装
push_back(float)
push_back(int)
または1つまたは何か他のものとのバイナリにコンパイルされます、次のコード
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;
}
ご検討ください!
float
とint
のクラスではなく、テンプレートを使用してコードサイズを変更できますか?
最適化を使用してコンパイルし、マップファイルを生成します。異なるコンパイラ/リンカは、さまざまなことを行います。 –
あなたのコンパイラ、マシン、最適化レベル、そして月のサイクルによって異なります... – user1810087
一般的なルールはありませんか? GCCはどうですか? –