【STL】1-模板函数和普通函数区别;2-模板函数调用规则;3-C++编译过程;4-函数模板,模板函数。

1-模板函数和普通函数区别:
普通函数可以自动进行类型转换
函数模板必须严格类型匹配。
2-模板函数调用规则:
(1) 函数模板可以想普通函数那样可以被重载。
(2) C++编译器优先考虑普通函数。
(3) 如果函数模板可以产生一个更好的匹配,那么选择模板。
(4) 可以通过空模板实参列表的语法限定编译器只能通过模板匹配。
3-C++编译过程:
编译 过程:Index.cpp >> 预编译器 >>编译器 >>汇编器 >>连接器
对应生成文件:Index.cpp >> index.i >>index.s(汇编文件)>>目标文件(在windows下是:.obj 文件;在Linux下是:.o 文件) >>index.exe
4-函数模板,模板函数:
函数模板>> 模板函数>> 被调用
函数模板机制结论:
编译器并不是把函数模板处理成任何类型的函数;
函数模板通过具体类型产生不同的函数;
编译器会对函数模板进行两次编译,在声明的地方对模板代码本身进行编译,在调用的地方对参数替换后的代码进行编译。

发布了57 篇原创文章 · 获赞 28 · 访问量 4136

猜你喜欢

转载自blog.csdn.net/weixin_41747893/article/details/102801813