如何以矢量形式捕获输出而不是在C++中打印它

use*_*603 0 c c++ visual-c++

我在下面给出的形式的大项目中有一个函数(func在某些Abc类的调用层次结构中被调用了5次):

 void Test::func(std::string c)
 {
       cout<<c;
 }
Run Code Online (Sandbox Code Playgroud)

函数func由大型层次结构中的某些函数调用.但函数func所做的就是打印一个字符串.现在,我不是打印字符串,而是将其输出存储在某处(以矢量形式),以便稍后在程序中func层次结构开始时使用它.我完全不知道如何捕获此输出而不是打印它.有人可以请帮助.

编辑:我不想从函数返回值...因为如果我这样做...整个调用层次结构将受到干扰......是否有其他出路而不是返回.

我想定义自己的数据结构,我可以存储它...但我没有得到如何?

Ben*_*igt 5

当然:

class Test
{
    std::stringstream accum;

    void func(std::string);
};

void Test::func(std::string c)
{
    accum << c;
}
Run Code Online (Sandbox Code Playgroud)

要么

class Test
{
    std::vector<std::string> accum;

    void func(std::string);
};

void Test::func(std::string c)
{
    accum.push_back(c);
}
Run Code Online (Sandbox Code Playgroud)