有没有办法打印数组,就像你在C ++普通库中的ruby中那样,或者我是否需要对扩展做一些事情?我知道你有一种方法可以做例如for循环,但有没有像你在ruby中的地方那样输入
-s
我想在c ++中做同样的事情,你输入类似
的东西print array
我所做的研究是关于c ++如何能够打印整个数组的地方,我无法找到他们只为数组进行正常打印的源。我的问题是,是否有机会打印没有外部函数的数组,而只是std::cout << array;
。
答案 0 :(得分:2)
C ++中没有这样的东西。我建议使用
for(auto a : yourArray){
std::cout << a;
}
如果你需要经常使用它,你可以为它编写一个函数或模板。
答案 1 :(得分:1)
C ++中没有这么简单的方法,但是您可以使用
for(auto string : yourArray){
std::cout << string;
}
答案 2 :(得分:0)
这取决于Array是什么。它是一个stl容器还是你放在一起的东西?
在任何一种情况下,您都可以编写一个新的运算符&lt;&lt;处理它:
std::ostream operator <<(std::ostrean s,const MyArray& mine)
{
for (const a& : mine)
s << a;
return s;
}
这可能看起来像语法光泽,但对于标准容器,您只需编写一次并将其用于任何矢量:
template <typename T> std::ostream operator <<(std::ostream s, const std::vector<T>& mine)
{
for (const a& : mine)
s << a;
return s;
}
然后再次为set和map等编写它。我相信你可以做一个适用于任何具有迭代器的容器的定义,使用一些c ++ 14聪明,但这是一个起点。 / p>