(1). 在使用C++模板时,编译器(例如g++)是否正确地不直接编译模板定义(只能在头文件中而不是源文件中),而是为其每个实例化生成基于模板定义的代码,然后编译所生成的代码?
(2)如果我想编写一个提供模板类和模板函数的C++库,那么将库编译成共享文件(.so、.a)是不可能的,因为它们的实例化不会出现在库的代码中,而只会出现在用户的程序中。如果是这样,那么模板库只是源代码文件而不是预编译文件吗?
C++标准模板库(STL)是如何实现的?它的源代码是预编译还是与用户程序一起编译?
(3). 在C语言中,如何编写一个提供像C++模板函数一样的函数库?重载是一个好的解决方案吗?
如果我必须为不同类型的参数编写不同的函数,是否有一种很好的代码重用方法?这样做http://www.vlfeat.org/api/imop_8c_source.html是一个好的方法吗?还有其他方法吗?
谢谢和问候!