gpt4 book ai didi

c++ - 我该如何定义这个复杂的函数模板呢?

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

我需要定义一个函数,该函数有两个参数,第一个是容器,其中包含一些类型为 T 的容器,第二个是一个整数,函数的签名可能如下所示:

#include <vector>
#include <string>
#include <list>

using namespace std;

vector<vector<T>> my_function(const vector<vector<T>>& var, int cnt);
vector<list<T>> my_function(const list<vector<T>>& var, int cnt);

函数模板应该怎么定义?

最佳答案

这就是你所说的。
现在,您知道可以使用哪种容器,您甚至可以用它做一些有值(value)的事情...

#include <vector>

template<class X> class Y{};

template<template<class outer, class... x>
class inner, template<class element, class... x> class outer,
class element, class... x>
inner<outer<element, x...>, x...>
my_function(const outer<inner<element>>& var, int cnt) {
inner<outer<element, x...>, x...> ret;
(void)var, (void)cnt;
return ret;
}

int main() {
#if 1
const std::vector<std::vector<int>> x;
#else
const Y<Y<int>> x{};
#endif
my_function(x, 0);
}

科里鲁:http://coliru.stacked-crooked.com/a/bb06e39c799e3b5e
进一步阅读:Template Template Parameters

关于c++ - 我该如何定义这个复杂的函数模板呢?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24621156/

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