相关疑难解决方法(0)

Pretty-print std :: tuple

这是我之前关于漂亮印刷STL容器的问题的后续行动,为此我们设法开发了一个非常优雅且完全通用的解决方案.


在下一步中,我想std::tuple<Args...>使用可变参数模板包含漂亮打印(因此这是严格的C++ 11).因为std::pair<S,T>,我只是说

std::ostream & operator<<(std::ostream & o, const std::pair<S,T> & p)
{
  return o << "(" << p.first << ", " << p.second << ")";
}
Run Code Online (Sandbox Code Playgroud)

打印元组的类似结构是什么?

我已经尝试了各种模板参数堆栈解包,传递索引并使用SFINAE来发现我何时处于最后一个元素,但没有成功.我不会用破碎的代码给你带来负担; 问题描述有希望直截了当.基本上,我想要以下行为:

auto a = std::make_tuple(5, "Hello", -0.1);
std::cout << a << std::endl; // prints: (5, "Hello", -0.1)
Run Code Online (Sandbox Code Playgroud)

与前一个问题包含相同级别的通用性(char/wchar_t,pair delimiters)的加分点!

c++ tuples variadic-templates c++11

78
推荐指数
5
解决办法
2万
查看次数

标签 统计

c++ ×1

c++11 ×1

tuples ×1

variadic-templates ×1