在 C++ 中,模板参数可以依赖于可变模板参数。可变模板参数允许您在模板中使用可变数量的参数。以下是如何编写依赖于可变模板参数的模板的示例:
#include<iostream>
#include<tuple>
template<typename... Args>
class MyClass {
public:
std::tuple<Args...> myTuple;
MyClass(Args... args) : myTuple(args...) {}
};
int main() {
MyClass<int, double, std::string> myObj(42, 3.14, "Hello, world!");
std::cout<< std::get<0>(myObj.myTuple)<< std::endl;
std::cout<< std::get<1>(myObj.myTuple)<< std::endl;
std::cout<< std::get<2>(myObj.myTuple)<< std::endl;
return 0;
}
在这个示例中,我们定义了一个名为 MyClass
的模板类,它依赖于可变模板参数 typename... Args
。我们使用 std::tuple
来存储这些参数,并使用构造函数将它们传递给 myTuple
。
在 main()
函数中,我们创建了一个 MyClass
对象,该对象具有 int
、double
和 std::string
类型的参数。我们使用 std::get
函数从 myTuple
中提取这些参数,并将它们打印到控制台上。
这只是一个简单的示例,但它演示了如何在 C++ 中使用可变模板参数和依赖于它们的模板。您可以根据您的需求进一步扩展和修改这个示例。
领取专属 10元无门槛券
手把手带您无忧上云