c – 我可以轻松地创建一个模板函数,它接受任意类型的任意容器并对其进行 *** 作吗?

c – 我可以轻松地创建一个模板函数,它接受任意类型的任意容器并对其进行 *** 作吗?,第1张

概述我正试图让这样的东西起作用: // This method is wrong, won't work, need your helptemplate < template <typename T> class U >void foo(U& u) { T& blah = *u.begin();}int main(int, char**){ vector<int> myVec(4 我正试图让这样的东西起作用:

// This method is wrong,won't work,need your helptemplate < template <typename T> class U >voID foo(U& u) {  T& blah = *u.begin();}int main(int,char**){  vector<int> myVec(4,10);  foo<vector<int> >(myVec); // This is how I want to call it,even better if I can leave the parameters out and just do foo(myVec);  return EXIT_SUCCESS;}

真的我想要做的是避免以下因为它似乎多余:

template <typename T,typename U>voID foo(U& u){T& blah = *u.begin(); }int main(int,10);  foo<int,std::vector<int> >(myVec); // first int in parameters is redundant cause I already provIDe int as arg to vector  return EXIT_SUCCESS;}
解决方法 你可以做 :

template < typename U>voID foo(U& u) {  typename U::value_type blah = *u.begin();}
总结

以上是内存溢出为你收集整理的c – 我可以轻松地创建一个模板函数,它接受任意类型的任意容器并对其进行 *** 作吗?全部内容,希望文章能够帮你解决c – 我可以轻松地创建一个模板函数,它接受任意类型的任意容器并对其进行 *** 作吗?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1223541.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-05
下一篇 2022-06-05

发表评论

登录后才能评论

评论列表(0条)

保存