模板和两个单独的类之间的区别

赫曼特·巴尔加瓦(Hemant Bhargava)

让我们假设这小段代码:

#include<iostream>

template <typename T>
class A {
  T a;
};

int main() {
  A<int> a;
  A<char> c;
}

现在,考虑这段代码,在这里我没有模板,而有两个分别用于int和char的类。

#include<iostream>

class A {
  int a;
};

class C {
  char c;
};

int main() {
  A a;
  C c;
}

根据编译器,优化或程序的代码段,以上两种方法是否会有区别?

哪种方法的可执行文件大小会更大,为什么?

生锈的

模板本质上是在编译代码之前用于生成源代码的机制。

这两种方法是从代码生成或可执行大小的角度相同(除了在第一种情况下两个类得到的成员变量a,并且在第二ac)。

变量1变量2进行比较注意生成的代码相同。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章