以下功能的最通用语法是什么:

template<IteratorType> void myFunction(const IteratorType& myIterator)
{
    _ptr = &myIterator[0];
}

它需要一个迭代器myIterator(它可以是原始指针),并且目标是将myIterator所指向的对象的地址分配给原始指针_ptr。目前,我使用&myIterator[0],但我意识到只有随机访问迭代器才具有运算符[]。

那么,有没有一种语法可以与所有类型的标准迭代器和指针一起使用?

最佳答案

您可以取消指针的引用,然后获取对象的地址。

template<IteratorType> void myFunction(const IteratorType& myIterator)
{
    _ptr = &(*myIterator);
}

关于c++ - 所传递的迭代器类型/指针所指向的元素的地址,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12179460/

10-11 22:45
查看更多