C++函数参数兼容vector和QVector
时间: 2024-01-14 10:05:03 浏览: 98
C++函数参数兼容vector和QVector是可以实现的,因为QVector是Qt库中的一个容器类,与标准库中的vector类似。你可以使用模板来编写一个通用的函数,使其能够接受vector和QVector作为参数。
下面是一个示例代码:
```cpp
#include <vector>
#include <QVector>
template<typename T>
void processContainer(const T& container)
{
// 对容器进行处理的代码
for (const auto& item : container)
{
// 处理容器中的元素
}
}
int main()
{
std::vector<int> vec = {1, 2, 3, 4, 5};
QVector<int> qVec = {1, 2, 3, 4, 5};
processContainer(vec); // 使用vector作为参数调用函数
processContainer(qVec); // 使用QVector作为参数调用函数
return 0;
}
```
在上述代码中,我们使用了一个模板函数`processContainer`,它接受一个模板参数`T`,表示容器类型。通过使用`const T&`作为参数类型,我们可以接受任何类型的容器,包括vector和QVector。在函数中,你可以按照需要处理容器中的元素。
请注意,为了使上述代码能够成功编译,你需要包含相应的头文件`<vector>`和`<QVector>`,并确保正确配置了Qt库。
阅读全文