gpt4 book ai didi

c++ - 可变参数模板类的 Getter

转载 作者:行者123 更新时间:2023-11-28 06:15:55 25 4
gpt4 key购买 nike

是否可以为可变参数模板类提供类型化的 getter?IE。类似于以下内容但确实可以编译:

template<class... T>
class A {
public:
A(T... params) {
_params = { params... };
}
T... get(const size_t index) {
return _params.at(index);
}
private:
std::vector<T...> _params;
};

然后可以像这样使用:

A<std::string, int> foo(std::string("a"), 2);
std::string bar = foo.get(0).append("b");
int bar2 = foo.get(1) + 2;

最佳答案

这正是 std::tuple 的用途。

auto foo = std::make_tuple(std::string("a"), 2);
std::string bar = std::get<0>(foo).append("b");
int bar2 = std::get<1>(foo) + 2;

关于c++ - 可变参数模板类的 Getter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30319593/

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