c++中的显示具体化有什么用?
显示具体化一样要重写函数定义,这样直接函数重载不是更方便吗?
显示具体化的优先级比隐式实例化高,函数重载的优先级也是比隐式实例化高.
那么显示具体化到底用在什么地方?
先不考虑你的问题,起码你要搞清楚学习概念,一定要把术语搞清楚。不是显示具体化,而是显式具体化。别看一字之差,你用google找,两者得到的结果质量就有很大的差别。
这是其一,其二,术语本身体现了这个词的内涵。显示(display)和显式(explicit)根本是两件事情。
光从字面上理解,你也可以得到很深刻的认识,显式具体化就是主动申明你的模板的参数,函数重载的匹配是很复杂的,当你没有确切的函数重载参数匹配的时候,编译器会寻找近似的匹配,。这种匹配的过程不但模糊了代码的可读性,而且会造成歧义,所以直接告诉编译器你需要的重载版本是必要的。
先不考虑你的问题,起码你要搞清楚学习概念,一定要把术语搞清楚。不是显示具体化,而是显式具体化。别看一字之差,你用google找,两者得到的结果质量就有很大的差别。
这是其一,其二,术语本身体现了这个词的内涵。显示(display)和显式(explicit)根本是两件事情。
光从字面上理解,你也可以得到很深刻的认识,显式具体化就是主动申明你的模板的参数,函数重载的匹配是很复杂的,当你没有确切的函数重载参数匹配的时候,编译器会寻找近似的匹配,。这种匹配的过程不但模糊了代码的可读性,而且会造成歧义,所以直接告诉编译器你需要的重载版本是必要的。