gpt4 book ai didi

c++ - 指向特定类型的 STL 容器样式和迭代器 (C++)

转载 作者:太空狗 更新时间:2023-10-29 23:47:27 25 4
gpt4 key购买 nike

我有一个容器类(称为 Atom),我想在其中存储 Term 类型的对象。许多 STL 容器构造函数具有 Container(Iterator first, Iterator last) 的形式来初始化容器一些元素集。

现在,我希望能够将这种形式用于我的 Atom 类,但我不确定如何将迭代器与其容器类分开。例如,目前我有:

class Atom {
public:
Atom(std::string str,
std::vector<Term>::const_iterator start,
std::vector<Term>::const_iterator end);

这只允许 vector 迭代器。我如何概括我采用的迭代器类型?

最佳答案

每当您需要对类型进行概括时,请考虑模板:

class Atom {
public:
template <typename ForwardIterator>
Atom(std::string str,
ForwardIterator start,
ForwardIterator end);

现在只需遍历范围,无论它是什么。

关于c++ - 指向特定类型的 STL 容器样式和迭代器 (C++),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5561365/

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