Sunday, March 20, 2022

[C++] Primer - 1.1.6 模板編譯

 编译器遇到一个模板定义时,并不生成代码。只有当实例化模板时编译器才生成代码。

当调用一个函数时,编译器只需要掌握函数的声明,函数定义不必已经出现,即使不定义,编译也会通过,最终会在链接时才发现undefined symbol这个熟悉的错误

但对于模板来说却不同,生成一个实例化版本,编译器需要掌握函数模板或类模板成员函数的定义。因此,与非模板代码不同,模板的头文件通常既包含声明也包含定义。

函数模板和类模板成员函数定义通常在头文件中。


No comments:

Post a Comment

n8n index

 【n8n免費本地端部署】Windows版|程式安裝x指令大補帖  【一鍵安裝 n8n】圖文教學,獲得無限額度自動化工具&限時免費升級企業版功能