gpt4 book ai didi

c++ - 将指针容器作为参数传递给 const

转载 作者:行者123 更新时间:2023-11-28 02:13:16 25 4
gpt4 key购买 nike

我有很多函数将指向 const 对象的指针容器作为参数。我需要使用指向非常量对象的指针容器来调用这些函数。我似乎记得在某处读到这是不允许的。除了编写函数的 2 个拷贝之外,还有其他解决方法吗?

示例(此代码无法编译):

#include <vector>
#include <iostream>
using namespace std;

void fn(vector<const int *> par) {
cout<<"Function with const ptrs\n"<<endl;
}

int main()
{
vector<int *>v;
fn(v);
}

最佳答案

如果可以,请考虑让您的函数采用范围,例如:

template<typename t_iterator>
void fn(t_iterator beg_iter, t_iterator end_iter) {
for(; beg_iter != end_iter; ++beg_iter) {
// do something
}
}

这应该在 vector<int*> 上运行和 vector<const int*>还有deque<int*>等等

关于c++ - 将指针容器作为参数传递给 const,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34936708/

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