我发现自己经常为同一个用例编写4个不同的函数。
比方说,我想编写一个“包含”函数,该函数告诉我给定的set / map是否包含一个值。这是我的实现:
template <class T, class V> bool contains(T S, V val) {
return S.find(val) != S.end();
}
现在可以通过任何模板T调用此函数。是否可以将其限制为仅适用于上述4个stl类?还是有其他方法可以实现我想要的行为?我只是为自己的实践创建这些功能,因此非常欢迎使用hacky解决方案。
答案 0 :(得分:0)
您可以编写专用的类型特征:
git branch