我得到了是非题:
“编译器在遇到功能模板定义后立即在内存中创建功能模板的实例。”
我对模板的理解是,编译器在读取函数定义时将生成必要的代码。我不确定内存分配。这是对还是错?
答案 0 :(得分:1)
为清楚起见:
模板不是代码。这是生成代码的秘诀。该代码是在其他代码第一次使用模板将生成的代码时生成的。
因此,模板函数仅在其他代码使用它(调用它或获取其地址)时才变为实际函数。
函数模板定义是如何在函数中编写代码的秘诀。
如果我们假设“内存”,那么发问者的意思是“程序代码所在的(可能是虚拟的)存储”,那么我想我会回答 false 。
这是因为在编译器遇到函数模板定义时未编写函数,而是在其他代码首次使用时编写的。