模板在内存分配和管理方面比基本数据类型更好用吗?内存效率:模板vs基本数据类型
回答
只是在短:
模板 - 一种以一种通用的方式编写一次代码,并在编译时间编译器会根据模板生成代码,如果你使用的templatic代码。
例如:
#include <iostream>
template<typename T>
T MultiplyByFive(T _val)
{
return _val * 5;
}
int main()
{
std::cout << MultiplyByFive(5) << " " << MultiplyByFive(5.5) << std::endl;
return 0;
}
在该示例中,编译器将生成两个MultiplyByFive功能。一个用于整数,另一个用于双精度。因此,输出将是:
25 27.5
这是因为这些功能已被调用。现在我们的代码(由编译器生成)两大功能
int MultiplyByFive(int _val)
{
return _val * 5;
}
double MultiplyByFive(double _val)
{
return _val * 5;
}
我们没有直接对其进行编码,但根据我们模板编译器一样。
内存分配与模板无关。动态内存分配在运行时间(新操作员在C++中)中确定。静态和局部变量是在编译时确定的,但它与生成代码无关。
如果我不明白这个问题,欢迎您进一步澄清。
哇!我很好奇,如果我们将模板/泛型应用于我们的功能而不是任何特定的数据类型。在内存分配和管理方面推荐哪一种。 –
我不确定我的理解。 分配与数据有关。模板是关于代码,功能等的。 您可以使用模板来处理数据,但通常只是为了表明您可以。 你在想什么?举一个例子 –
你确实清除了我的怀疑。 :D感谢哥们。我希望我可以对你的回复进行投票。 –
- 1. GTK数据类型vs基本数据类型
- 2. 为基本数据类型和特征数据类型编写模板函数
- 3. 为什么浮点类型模板函数的模板参数类型无效?
- 4. 从Django基本模板访问模型数据
- 5. React.cloneElement内存效率
- 6. 基本模板类数据成员在派生模板类中不可见?
- 7. 如何确定的模板类型是基本型或类
- 8. WordPress数据存储效率
- 9. 关于模板效率
- 10. “基本数据类型”和“内置数据类型”的含义是否相同?
- 11. Drupal:内容类型模板
- 12. GCC vs VS匿名类型作为模板参数
- 13. 内部类型作为模板参数
- 14. 从JSON vs数据库创建内容 - 效率
- 15. 泛型vs基类
- 16. 根据模板参数包装类型容器的模板类
- 17. 基本刀片模板无效
- 18. C++条件模板基于数据类型编译
- 19. 检测模板类型本身是否是模板类型
- 20. 在模板类启用方法基于模板类型
- 21. 是派生对象的模板基类型模板的子类
- 22. C模板仿函子。类模板vs函数模板
- 23. VS 2013不擅长与依赖于模板参数中通用的基准和返回类型函数模板
- 24. C++模板:如何动态类和基本类型
- 25. 模板标识符vs模板函数参数类型中的decltype
- 26. 数据类型调用模板方法
- 27. 编码效率VS执行效率
- 28. 对象的内存效率
- 29. 效率与内存权衡
- 30. SignalR CPU和内存效率
这是一个C++的问题吗? – doctorlove
如果它可以与C++或swift相关,那将会很棒。 @doctorlove –
模板不分配内存,只有当你实例化它,但它不清楚这是如何不同于“基本类型” – user463035818