这是我先前关于漂亮打印的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 << ")";
}
打印元组的类似结构是什么?
我尝试了各种形式的模板参数堆栈解压缩,传递索引并使用SFINAE来发现何时到达最后一个元素,但是没有成功。我不会因我的密码破译而负担你;希望问题描述很简单。本质上,我想要以下行为:
auto a = std::make_tuple(5, "Hello", -0.1);
std::cout << a << std::endl; // prints: (5, "Hello", -0.1)
奖励积分包括与上一个问题相同的通用水平(char / wchar_t,对定界符)!
Cats萌萌
相关分类