gpt4 book ai didi

c++ - 为类重载输出 << 运算符以打印其中的元组

转载 作者:可可西里 更新时间:2023-11-01 18:38:59 24 4
gpt4 key购买 nike

<分区>

所以如果我有这样的东西

template<typename... Args >
class tuple_class
{
public:
std::tuple<Args...> tup;

/*I left out the other functions */
};

我想重载运算符<<,以便在类上调用时递归打印元组。

例如

auto a = tuple_class(1, 2 ,3);
std::cout << a << endl;

希望打印'123'

我看过元组打印机的其他示例,但我无法将它应用到我的类(class)中,遇到很多麻烦

我想我应该从这样的成员函数开始

  template<typename... Args>
friend std::ostream& operator<<(std::ostream& os, const my_tuple<Args...> &m);

然后是类外的实际函数

template<typename... Args>
std::ostream& operator<<(std::ostream& os, const my_tuple<Args...> &m)
{
os << "SOMETHING" << std::endl;
return os;
}

当我在类里面调用 << 运算符时,这实际上起作用了。但我不知道如何让它实际打印元组。

任何帮助将不胜感激

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