假设我想创建一个通用的Serialize函数,它允许我序列化内置类型,组合类型和用户定义类型。然后我看到两种方法:
基于超载:
Serialize()
为所有(支持的)内置类型基于类模板的专业化:
Serialize
SerializeHelper<T>()::serialize(...)
函数
SerializeHelper
专门用于所有内置类型每种方法的优缺点是什么?
他们如何比较编译时性能?
注意:尽管标题相似,但这个问题不是Template Specialization VS Function Overloading的副本,因为该问题是关于ADL vs 功能模板专业化< / em>(而不是类模板专业化)。