gpt4 book ai didi

c++ - 我如何使这个函数通用以便它接受任何容器

转载 作者:太空宇宙 更新时间:2023-11-04 16:29:55 24 4
gpt4 key购买 nike

我正在为第二个功能而苦苦挣扎。我希望它像第一个一样,但接受 List 和 vector

void draw__vec(vector<shape *> vs){

for(int i=0; i< vs.size();i++){
vs[i]->draw();
}

}

template <typename T>
void draw_generic(T<shape *> c){

}

最佳答案

一种方法是使用迭代器。

template <typename T>
void draw_generic(T c){
typename T::iterator beg = c.begin(), end = c.end();

while (beg != end) {
(*beg)->draw();
++beg;
}
}

关于c++ - 我如何使这个函数通用以便它接受任何容器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8320608/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com