gpt4 book ai didi

c++ - 给定一个迭代器,声明一个具有正确 size_type 的索引

转载 作者:行者123 更新时间:2023-11-30 01:34:43 26 4
gpt4 key购买 nike

在 C++ 模板中,我很难用正确的 size_type 定义变量。基本上,这将是容器中的索引类型。我知道 int 可以工作,但希望以干净的形式使用它。

template<typename ForwardIt> 
void test(ForwardIt it) {
// this yields the underlying type
decltype(typename std::iterator_traits<ForwardIt>::value_type()) T;

// what I would like is something like above, but yielding the
// correct size_type for the container.

// Something like this but with the type extracted from ForwardIt:
std::vector<int>::size_type i;

...
}

最佳答案

详细说明@NathanOliver 所说的:迭代器没有size_type;它们有一个difference_type,表示两个迭代器之间的距离。容器有一个 size_type

迭代器不需要关联容器,因此无法仅从迭代器获取“容器的 size_type”。

关于c++ - 给定一个迭代器,声明一个具有正确 size_type 的索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55833089/

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