我有一个表示数组引用(class array_ref
)的类,另一个表示 (即包含/拥有/包含)数组(class array
)。
array_ref
表现得像参考。
将std::decay
class array_ref
专门化为array
是否有意义?
namespace std{
template<> class decay<arra_ref>{typedef array type;};
}
我还有哪些其他选择可以告诉通用程序array
是&#34;值类型&#34;是array_ref
?
在任何STL算法中都使用std::decay
吗?
答案 0 :(得分:3)
标准库算法是否使用它并不重要。重要的是标准在[meta.type.synop] / 1中的内容:
除非另有说明,否则为本子条款中定义的任何模板添加特殊化的程序的行为是未定义的。
包含在&#34;本条&#34;是所有类型特征类,包括decay
。所以不要把它专门化。如初。