首先,让我们来看看一个普通解决方案应该提供什么:
通过这些性能的组合,你可以得到一个编写数组的有力途径。如果你还不确定,看一看这篇文章最后给出的例子。
让我们将上面描述的解决方案分解开来对每一部分做一下个别的研究:
我们将有几个编写区域和容器的函数来返回对象。对于每一个对象,我们都重载操作符<<,它将向目的流写入区域和容器。
例如,下面的代码创建一个可以编写aNames容器的对象,其中将应用操作符<<,它将依次将aNames写入std::cout。
typedef std::list< std::string> StringsArray;
StringsArray aNames;
aNames.push_back( "John");
aNames.push_back( "James");
aNames.push_back( "Corina");
// will print the array of names
std::cout << container( aNames) << std::endl ;